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

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

 public static void update(File[] files) 

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

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

   }
}

in html:

<input type="file" name="file"/> 这样上传a,b,c就得到a,b,c而不会一直是a了,呵呵。
点赞
收藏

评论区

加载中...

相关推荐

Nginx 调整文件上传大小限制

使用3A服务器做了网页,感觉挺不错的,使用LNMP环境用Nginx部署了前端,发现上传附件大一点就会报错,查看配置文件,发现spring的附件配置已经配置了。那么就看下Nginx的body设置。nginx文件上传默认是1MB。在server

java中使用restful web service来传输文件

【1】上传大文件:前端页面:1)同步上传:<html<body<formaction"http://localhost:8081/webProject/api/file/uploadFile"method"post"enctype"multipart/form

struts2框架实现上传文件进度条功能

      1.在实现上传进度条功能中,主要是的思想是利用struts2中定义的ProgressListener(进度监听器),里面有一个update(longreadedBytes,longtotalBytes,intcurrentItem)方法,当文件用二进制文件来进行上传时,每上传一部分数据都会去调用这个update方法,update中得到s

SpringBoot2.0 基础案例(14):基于Yml配置方式,实现文件上传逻辑

本文源码GitHub地址:知了一笑https://github.com/cicadasmile/springbootbase一、文件上传文件上传是项目开发中一个很常用的功能,常见的如头像上传,各类文档数据上传等。SpringBoot使用MultiPartFile接收来自表单的file文件,然后执

SpringBoot2.0 基础案例(14):基于Yml配置方式,实现文件上传逻辑

本文源码GitHub地址:知了一笑https://github.com/cicadasmile/springbootbase一、文件上传文件上传是项目开发中一个很常用的功能,常见的如头像上传,各类文档数据上传等。SpringBoot使用MultiPartFile接收来自表单的file文件,然后执

FLV文件格式

1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.