【问题标题】:How to handle html5 input multiple in java gae如何在java gae中处理多个html5输入
【发布时间】:2012-12-11 12:35:57
【问题描述】:

我在 GAE 上有一个处理表单的 httpservlet。 表单有一个按钮。 在 servlet 中,我使用 apache.commons.fileupload 来处理单个文件上传, 但我不知道如何处理多个文件数组...任何帮助表示赞赏。

表格:

<form id="fileupload" action="/Save" method="Post" enctype="multipart/form-data">
    <input name="title" type=text />
    <textarea name="info"></textarea>
    <input type="file" name="files[]" multiple>
    <input id="save" type="submit" value="Save this">
</form>

小服务程序:

FileItemIterator iter = upload.getItemIterator(req);
while (iter.hasNext()) {
    FileItemStream item = iter.next();
    String name = item.getFieldName();
    InputStream stream = item.openStream();
    if (item.isFormField()) {
        System.out.println("Form field " + name + " with value "
            + Streams.asString(stream) + " detected.");
    } else {
        // name here will be "files[]"
        System.out.println("File field " + name + " with file name "
        + item.getName() + " detected."); 
        //MY NONWORKING ATTEMPT AT HANDLING THE FILES[] ARRAY: <- this is my question, how to do this?
        Object files[] = Streams.copy(stream);
        for(int i = 0; i < files.size(); i++){
            String fileType = files[i].getContentType();
            Blob imageBlob = new Blob(Files[i]);
        }
    }
}

【问题讨论】:

    标签: java html google-app-engine apache-commons-fileupload


    【解决方案1】:

    您正试图从一个FileItemStream 获取所有文件,而实际上每个FileItemStream 都是它自己的文件。

    // INSERT THIS INSTEAD OF YOUR NONWORKING PART
    String filename = item.getName();
    String contentType = item.getContentType();
    int len;
    byte[] buffer = new byte[8192];
    while ((len = stream.read(buffer, 0, buffer.length)) != -1) 
        // here save the buffer to blobstore
    }
    

    要将数据保存到 blobstore,请参阅use new Files API to save into blobstore

    【讨论】:

      猜你喜欢
      • 2010-09-20
      • 2020-02-21
      • 2023-01-19
      • 2021-01-20
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      相关资源
      最近更新 更多