我使用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次是很痛苦的。
谢谢你,
答案 0 :(得分:3)
我用以下方法解决了这个问题:
fileUpload.getElement().setPropertyString("value", "");
答案 1 :(得分:1)
您是否创建了新的Form元素?表单无法使用相同的数据进行两次发布。也许这是双击提交按钮的人的浏览器优化。
这只是一个假设,但尝试重新创建表单小部件onSuccess甚至隐藏表单onSubmit(实际上onClick更好)并向用户显示另一个表单