上传后的原始文件名?

时间:2012-08-15 15:58:48

标签: java google-app-engine blobstore

如何在GAE上上传原始文件名?

基于以下示例:

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

1 个答案:

答案 0 :(得分:0)

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

POST mimetype为multipart/form-data,GAE / J没有提供API来解析。因此,您需要使用第三方库来解析参数 - 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
    }

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