【发布时间】:2016-05-20 06:09:04
【问题描述】:
我正在构建的 GWT Web 应用程序有一个页面,用户可以在其中上传 CSV 文件。上传代码使用Moxieapps GWT Uploader,效果很好。
但是,我发现了一种奇怪的情况,即离开页面并返回页面会添加上传按钮再次。所以我第三次访问该页面时,上传部分将如下所示:
在检查器中查看的生成 HTML 的相关部分显示,包含“按钮”的 input 和 div 都被一遍又一遍地添加(尽管只有一个 dropzone):
我已经检查了我的代码很多次,看看我是否在做一些可能导致这种情况的事情,但没有发现任何东西。您实际上并没有手动添加按钮或输入;这是由框架自动完成的。 fileUploader 仅初始化一次(这是 GWT 客户端代码,我已使用检查器进行调试,并将语句记录到控制台以确认这一点):
fileUploader.setButtonDisabled(true).setFileTypes("*.csv")
.setUploadURL(getBaseUrl() + "/fileUpload.upload")
.setButtonText("<span class=\"buttonText\">Select CSV file to upload</span>")
.setFileSizeLimit(FILE_SIZE_LIMIT)
.setButtonCursor(CustomUploader.Cursor.HAND)
.setButtonAction(CustomUploader.ButtonAction.SELECT_FILE)
.setUploadProgressHandler(new UploadProgressHandler() {...})
.setUploadSuccessHandler(...)
// etc. with other handlers
setButtonText() 方法是从其他几个地方调用的,文本会按应有的方式更改,但仅在最后一个按钮上(如果有多个)。否则,据我所知,我的代码中没有任何内容可以添加按钮。
还有其他人遇到过这个问题吗?我需要设置一些属性来防止这种情况吗?会不会是 moxieapps 代码的 bug?
【问题讨论】:
标签: java gwt file-upload