【问题标题】:Original file name after upload?上传后的原始文件名?
【发布时间】:2012-08-15 15:58:48
【问题描述】:

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

基于以下示例:

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

【问题讨论】:

    标签: java google-app-engine blobstore


    【解决方案1】:

    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
        }
    

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

    【讨论】:

    • 运行你的解决方案...请求参数为空。
    • 编辑了一个关于如何解析multipart/form-data的示例
    猜你喜欢
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 2017-11-15
    相关资源
    最近更新 更多