【发布时间】:2012-08-15 15:58:48
【问题描述】:
如何获取上传到 GAE 的原始文件名?
基于以下示例:
https://developers.google.com/appengine/docs/java/blobstore/overview#Uploading_a_Blob
【问题讨论】:
标签: java google-app-engine blobstore
如何获取上传到 GAE 的原始文件名?
基于以下示例:
https://developers.google.com/appengine/docs/java/blobstore/overview#Uploading_a_Blob
【问题讨论】:
标签: java google-app-engine blobstore
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的示例