我正在使用 Java Play Framework 和这个 File-Upload-Plugin:http ://blueimp.github.io/jQuery-File-Upload/ 。阅读文档http://www.playframework.com/documentation/2.0/JavaFileUpload后,我在我的 Java Play 控制器中使用了这个特定的代码。
public static Result upload() {
File file = request().body().asRaw().asFile();
return ok("File uploaded");
}
我还将这条路线添加到我的项目中:
POST /upload controllers.Image.upload()
我的视图模板:
@(scripts: Html)
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>jQuery File Upload Example</title>
</head>
<body>
<input id="fileupload" type="file" name="files[]" data-url="/upload">
@scripts
<script>
$(function () {
$('#fileupload').fileupload({
dataType: 'json',
add: function (e, data) {
data.context = $('<p/>').text('Uploading...').appendTo(document.body);
data.submit();
},
done: function (e, data) {
data.context.text('Upload finished.');
}
});
});
</script>
</body>
现在,如果我上传图片,萤火虫会显示以下错误:
"NetworkError: 500 Internal Server Error - http://localhost:9000/upload"
错误是由控制器上传操作中的这一行引起的:
File file = request().body().asRaw().asFile();
有人知道解决方案吗?谢谢您的帮助。