使用play framework v2.4处理通过xhr发送的文件上传

时间:2015-11-13 15:43:32

标签: angularjs file-upload playframework-2.0 asyncfileupload angular-file-upload

我正在使用play framework v2.4并正在测试通过web表单发送的文件上传(xhr通过angular调用)。我在play框架控制器中尝试了以下两个选项(基于https://www.playframework.com/documentation/2.4.x/JavaFileUpload),但两个选项都不起作用(我还添加了我尝试过的curl示例但是我无法获得对该文件的引用 - 它总是为null) 。在任何一种情况下,MultipartFormData / File都为空 感谢

MultipartFormData body = request().body().asMultipartFormData();

File file = request().body().asRaw().asFile();

我使用的curl命令如下(我可以看到从curl发送的文件数据):

curl -v --cookie "Auth-Token=dc6eb764-4436-4571-b4bf-8cf5dg36b71b" -F "doc=@/home/test/docs/books/play2.pdf" https://local.test.com/a/api/contact/abc/test

1 个答案:

答案 0 :(得分:0)

问题在于客户端JS代码没有上传文件。以下工作:

MultipartFormData body = request().body().asMultipartFormData();

使用curl进行测试

curl -v --cookie "Auth-Token=dc6eb764-4436-4571-b4bf-8cf5dg36b71b" -F "doc=@/home/test/docs/books/play2.pdf" https://local.test.com/a/api/contact/abc/test