PlayFramework1.2.4 一些使用中的记录2(多文件上传)

Stella981
• 阅读 281

在Play中进行多文件上传普遍都会想到在方法参数中加入File[] files,如:

 public static void update(File[] files) 

虽然这种方式不会报错,但是上传过来的文件仅仅是第一个文件的N个,比如5个上传框,选择了a,b,c三个文件,那么提交后会得到5个a。即使只选择一个a文件上传也会得到5个a文件,这可真糟糕,完全不是自己想要的结果。没去看Play的源码,不知道为什么会这样。不过这里有种看起来不怎么优雅的解决方式总算解决了这个问题。

List files = (List) request.args.get("__UPLOADS");
for(Upload upload: files) {
   if (upload.getSize()>0) {
     File file = upload.asFile();
     ....对file进行操作,如拷贝等...

   }
}

in html:

这样上传a,b,c就得到a,b,c而不会一直是a了,呵呵。
点赞
收藏
评论区
推荐文章
芝士年糕 芝士年糕
1年前
Nginx 调整文件上传大小限制
使用3A服务器做了网页,感觉挺不错的,使用LNMP环境用Nginx部署了前端,发现上传附件大一点就会报错,查看配置文件,发现spring的附件配置已经配置了。那么就看下Nginx的body设置。nginx文件上传默认是1MB。在server
Wesley13 Wesley13
2年前
java中使用restful web service来传输文件
【1】上传大文件:前端页面:1)同步上传:<html<body<formaction"http://localhost:8081/webProject/api/file/uploadFile"method"post"enctype"multipart/form
Easter79 Easter79
2年前
struts2框架实现上传文件进度条功能
      1.在实现上传进度条功能中,主要是的思想是利用struts2中定义的ProgressListener(进度监听器),里面有一个update(longreadedBytes,longtotalBytes,intcurrentItem)方法,当文件用二进制文件来进行上传时,每上传一部分数据都会去调用这个update方法,update中得到s
Easter79 Easter79
2年前
SpringBoot2.0 基础案例(14):基于Yml配置方式,实现文件上传逻辑
本文源码GitHub地址:知了一笑https://github.com/cicadasmile/springbootbase一、文件上传文件上传是项目开发中一个很常用的功能,常见的如头像上传,各类文档数据上传等。SpringBoot使用MultiPartFile接收来自表单的file文件,然后执
Stella981 Stella981
2年前
SpringBoot2.0 基础案例(14):基于Yml配置方式,实现文件上传逻辑
本文源码GitHub地址:知了一笑https://github.com/cicadasmile/springbootbase一、文件上传文件上传是项目开发中一个很常用的功能,常见的如头像上传,各类文档数据上传等。SpringBoot使用MultiPartFile接收来自表单的file文件,然后执
Wesley13 Wesley13
2年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
2年前
PHP 文件上传的原理及案例分析
原理将客户端文件上传至服务器端,在服务器端临时存储,再将服务器端临时存储的文件移至指定位置实现文件上传需要的知识点:前端页面1.form表单必须是用post发送方式,因为get会将参数带到url中,而上传的文件转换后字符会很长,而且也是为了安全性2.form表单需要使用enctype
Wesley13 Wesley13
2年前
PHP代码审计笔记
0x01最简单的文件上传未进行文件类型和格式做合法性校验,任意文件上传漏洞代码示例:新建一个提供上传文件的 upload.html<html创建上传脚本  upload\_file.php<?php漏洞利用:可上传任意文件!(https://oscimg.oschina.net/oscnet/a
Wesley13 Wesley13
2年前
Java多线程导致的的一个事物性问题
业务场景我们现在有一个类似于文件上传的功能,各个子站点接受业务,业务上传文件,各个子站点的文件需要提交到总站点保存,文件是按批次提交到总站点的,也就是说,一个批次下面约有几百个文件。      考虑到白天提交这么多文件会影响到子站点其他系统带宽,我们将分站点的文件提交到总站点这个操作过程独立出来,放到晚上来做,具体时间是晚上7:00到早上7:00。
京东云开发者 京东云开发者
11个月前
前端文件上传的几种交互造轮子 | 京东云技术团队
前端文件上传本来是一个常规交互操作,没什么特殊性可言,但是最近在做文件上传,需要实现截图粘贴上传,去找了下有没有什么好用的组件,网上提供的方法有,但是没找完整的组件来支持cv上传,经过了解发现可以用剪贴板功能让自己的cv实现文件上传,于是自己就整合了目前几种文件上传的交互方式,码了一个支持cv的vue3文件上传组件(造个轮子)。