【发布时间】:2011-09-28 15:28:19
【问题描述】:
我对 blobstoreService.getUploadedBlobs() 方法有疑问。我有一个 JSP 页面,我在其中设置了这样的上传器:
<formname='form' action='<%= blobstoreService.createUploadUrl("/Edit_Engine") %>' method='POST' enctype='multipart/form-data' >
<input label='...' multiple='false' name='myFile' />
//...and multiple input for text
</form>
然后我用我的 servlet 检索此代码:
java.util.Map<String,BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
BlobKey blobK = blobs.get("myFiles[]"); //I don't know why I need to add the characters 's[]' at the end...
但行为很奇怪。我第一次上传图片时,一切正常。然而,第二次,我发送我的表单而不上传一些东西(只有文本数据),然后我的 java 代码找到了一个 BlobKey。但是这个 BlobKey 好像是之前发送的数据,或者是损坏的数据。 我的意思是不正常,因为当我在本地主机上部署这个版本时,如果表单没有上传文件,getUploadedBlobs 方法会返回一个空的 HashMap。但是,当我在谷歌服务器上部署时,如果表单没有上传任何文件,getUploadedBlobs 方法似乎返回一个带有错误数据的 HashMap。
你能帮帮我吗?或者告诉我这种行为是否正常...
非常感谢,
蝙蝠
【问题讨论】:
-
我认为在所有情况下,如果我发送一个没有文件的表单,google blobstore 会创建一个空 blob...
标签: java google-app-engine blobstore