java - jQuery-File-Upload with Java Play Framework NetworkError : 500

标签 java playframework-2.0 jquery-file-upload

我正在使用 Java Play 框架和这个文件上传插件:http://blueimp.github.io/jQuery-File-Upload/ .阅读文档后 http://www.playframework.com/documentation/2.0/JavaFileUpload我在我的 Java Play Controller 中使用了这个特定的代码。

public static Result upload() {
  File file = request().body().asRaw().asFile();
  return ok("File uploaded");
}

我还将这条路线添加到我的项目中:

POST    /upload                     controllers.Image.upload()

我的 View 模板:

@(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> 

现在,如果我上传图片, Firebug 会显示以下错误:

"NetworkError: 500 Internal Server Error - http://localhost:9000/upload"

错误是由 Controller 上传操作中的这一行引起的:

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

有人知道解决办法吗?感谢您的帮助。

最佳答案

我想您可以通过不同方式访问您的上传文件。你可以使用类似的东西:

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

    for(Http.MultipartFormData.FilePart part : body.getFiles()){
        Logger.debug(part.getFilename());
        Logger.debug(part.getKey());
        Logger.debug(part.getContentType());
        Logger.debug(part.getFile().getName());
        Logger.debug(part.getFile().getAbsolutePath());
        Logger.debug(String.valueOf(part.getFile().getTotalSpace()));
    }

一个你有你的 java.io.File 实例你可以做任何你想做的事

关于java - jQuery-File-Upload with Java Play Framework NetworkError : 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19810278/

相关文章:

php - 如何用 Amazon S3 替换 PHP imagecopyresampled?

javascript - 错误率: jquery file upload on submit form button

java - 如何将java(awt)代码转换成jsp代码

java - 从对象初始化数组会产生 NullPointerException

scala - Playframework,Json写入和读取放在哪里以供重用?

Scala - 在通用接口(interface)上使用 guice multibinder 失败

javascript - Node js 中的 Multer req.body 为空

java - 将 spring boot 与 redis 混合

Java apache Httpclient 基于表单登录myspace

scala - 为混合特性的所有类构建操作