Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java getUploadedBlobs方法的奇怪行为_Java_Google App Engine_Blobstore - Fatal编程技术网

Java getUploadedBlobs方法的奇怪行为

Java getUploadedBlobs方法的奇怪行为,java,google-app-engine,blobstore,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='f

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...
java.util.Map blobs=blobstoreService.getUploadedBlobs(req);
BlobKey blobK=blobs.get(“myFiles[]”)//我不知道为什么我需要在结尾添加字符的[]。。。
但这种行为很奇怪。第一次上传图片时,一切正常。然而,第二次,我发送表单时没有上传任何东西(只有文本数据),然后我的java代码发现一个BlobKey。但此BlobKey似乎是以前发送的数据,或者是损坏的数据。 我的意思是这不正常,因为当我在本地主机上部署此版本时,如果表单未上载任何文件,那么getUploadedBlobs方法将返回一个空HashMap。然而,当我在google服务器上部署时,如果表单没有上传任何文件,那么getUploadedBlobs方法似乎返回了一个包含错误数据的HashMap

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

非常感谢,


bat

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

是的,我使用dojo来呈现输入和上载程序..因此,您是对的,dojo更改名称I tkink So..我认为在所有情况下,如果我发送的表单中没有文件,google blobstore会创建一个空blob。。。