使用getUploadedBlobs方法的奇怪行为

时间:2011-09-28 15:28:20

标签: java google-app-engine blobstore

我遇到了methode 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...

但这种行为很奇怪。我第一次上传图片时,一切正常。但是,第二次,我发送我的表单而不上传somehting(只有文本数据),然后我的java代码找到一个BlobKey。但是这个BlobKey似乎是先前发送的数据,或者是损坏的数据。 我的意思是不正常,因为当我在我的localhost上部署这个版本时,如果表单没有上传任何文件,方法getUploadedBlobs将返回一个空的HashMap。但是,当我在google服务器上部署时,如果表单上传的文件没有,则getUploadedBlobs方法似乎会返回一个包含错误数据的HashMap。

你可以帮帮我吗?或者告诉我这种行为是否正常......

非常感谢,

蝙蝠

1 个答案:

答案 0 :(得分:0)

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