【问题标题】:Strange behavior with the method getUploadedBlobs方法 getUploadedBlobs 的奇怪行为
【发布时间】: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


【解决方案1】:

如果您得到一个有效的 BlobKey,那么myFiles[] 很可能是表单中文件输入字段的名称。是这样吗?对于输入字段,这似乎是一个奇怪的名称。您是否使用模板库来帮助从 JSP 生成 HTML?

【讨论】:

  • 是的,我使用 dojo 来渲染输入和上传器..所以,你说得对,dojo 改了个名字,我这么想..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-16
  • 2021-07-07
相关资源
最近更新 更多