多文件上传播放?

Tho*_*mas 4 upload frameworks file playframework

我尝试用一​​个请求上传多个文件.我的代码如下所示:

<form action="/application/overviewsubmit" method="POST" enctype="multipart/form-data">
 <input type="file" name="files">
 <input type="file" name="files">
 <input type="submit" value="Run...">
</form>
Run Code Online (Sandbox Code Playgroud)

和控制器:

public static void overviewSubmit(List<File> files){
 System.out.println(files);
}
Run Code Online (Sandbox Code Playgroud)

如果两个文件都由用户设置,则它可以正常工作.但是,如果用户只选择其中一个并保持另一个不变,则文件始终为空.

Rif*_*fat 7

我发现了一种hackish方式.

你必须导入play.data.Uploadplay.data.*

public static void overviewsubmit(File fake) {
    List<Upload> files = (List<Upload>) request.args.get("__UPLOADS");
    for(Upload file: files) {
        Logger.info("Size = %d", file.getSize());
    }
}
Run Code Online (Sandbox Code Playgroud)

如果没有File fake参数,方法将无法处理multipart/form-data,您将得到一个空request.args数组.如果有人知道它的播放/标准注释,请告诉我:)

您可以查看其他有用的功能 - http://www.playframework.org/documentation/api/1.2.3/play/data/FileUpload.html

希望它能解决你的问题.