我很难使用GWT 2.4+gwtupload 0.6.4库上传一个简单的文件。
以下是我的对话框ui.xml的相关部分:
<g:DialogBox modal="true" width="400px" height="150px">
<g:caption><ui:msg>Import new..</ui:msg></g:caption>
<g:VerticalPanel styleName="full-width">
<g:InlineLabel styleName="formlabel"><ui:msg>File name</ui:msg></g:InlineLabel>
<up:Uploader ui:field="uploader" validExtensions="zip" styleName="uploader full-width">
</up:Uploader>
<g:Button styleName="button" ui:field="importButton" enabled="true">
<ui:msg>Import</ui:msg>
</g:Button>
importButton
最终调用uploader.submit()
。我的问题是,当我第一次按下按钮时,空的POST被发送到服务器,我收到了一条错误消息。如果我第二次按下按钮,我的文件被POST处理得很好。如果我关闭对话框并重新开始,同样的事情也会发生。第一次导入后的每次导入尝试都可以。
以下是空POST示例:
Content-Type: multipart/form-data;
boundary=---------------------------9003259118762
Content-Length: 46 -----------------------------9003259118762--
我试着第二次点击按钮作为解决方法。但是,如果我捕捉到收到的错误消息并再次调用uploader.submit()
,或者甚至从Timer()
回调中调用它,它就不会像我第二次单击鼠标时那样工作。
你有什么想法吗?
解决方案是在uploader.submit()
之后的一些行有一个uploader.setEnabled(false)
调用。删除后,上传程序开始正常工作。:-)