0

您如何获取在 GAE 上上传的原始文件名?

基于以下示例:

https://developers.google.com/appengine/docs/java/blobstore/overview#Uploading_a_Blob

4

1 回答 1

0

Blobstore 上传处理程序重写请求(删除正文,添加 blobkey),但保留所有其他内容不变。

POST mimetype 是multipart/form-data,GAE/J 没有提供解析的 API。所以你需要使用 3rd 方库来解析参数 - Apache Commons-FileUpload(也作为maven artifact)。

在您的post()处理程序中使用它,如下所示:

    ServletFileUpload upload = new ServletFileUpload();

    FileItemIterator iterator = null;
    try {
        iterator = upload.getItemIterator(request);
        while (iterator.hasNext()) {
            FileItemStream item = iterator.next();
            String filename = item.getName();
        }

    } catch (FileUploadException e) {
        // handle the error here
    }

由于可以一次上传多个文件,因此您需要遍历一组参数并取出您感兴趣的文件。

于 2012-08-15T16:55:13.807 回答