我正在使用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
答案 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