我无法在blobstore中上传2次相同的图像

时间:2013-10-28 03:06:42

标签: google-app-engine gwt file-upload blobstore

我使用GWT + GAE(JAVA) 我还使用了blostore和GWT文件上传器(com.google.gwt.user.client.ui.FileUpload)。 从技术上讲,文件上传器位于表单中。而且我不知道错误是否与GWT fileUploader或blobstore更相关......

以下是该情景:
0)我问一个blobstore的URL(例如,我收到了URL http://example.url.blobstore) 此URL用于操作表单。

行动1 :(成功)
A)我点击fileUpload按钮
B)我选择图像“batman.jpg”并单击OK
C)然后我将表单发送到http://example.url2.blobstore,blobstore成功保存我的图像 D)我问一个blobstore的新URL(参见步骤0)

行动2 :(失败)
A)我再次点击文件上传按钮
B)我再次选择“batman.jpg”
C)我无法在预览中看到图像加载...因此我推断出我无法加载相同图像的2倍 D)我在 batman_1.jpg 重命名我的文件,然后通过文件上传器加载它。
E)然后我可以提交表格,保存我的图像 G)我问一个blobstore的新URL(参见步骤0)

我必须更改图片的名称,否则我必须刷新页面才能再次上传此图片 我不知道如何解决这个问题,如果我需要在我的应用程序中的10个不同位置使用它,将图像名称更改10次是很痛苦的。

谢谢你,

2 个答案:

答案 0 :(得分:3)

我用以下方法解决了这个问题:

fileUpload.getElement().setPropertyString("value", "");

答案 1 :(得分:1)

您是否创建了新的Form元素?表单无法使用相同的数据进行两次发布。也许这是双击提交按钮的人的浏览器优化。

这只是一个假设,但尝试重新创建表单小部件onSuccess甚至隐藏表单onSubmit(实际上onClick更好)并向用户显示另一个表单