如何取消使用表单提交的文件上传?

时间:2012-05-28 06:19:58

标签: forms gwt gxt

我正在使用com.extjs.gxt.ui.client.widget.form.FormPanel;用于文件上传。代码如下:

FormPanel panel = new FormPanel();
file = new FileUploadField();
file.setName("uploadedfile");
file.setFieldLabel("File");

FlexTable fileTable = new FlexTable();
fileTable.setWidget(0, 0, file);
panel.add(fileTable);

Button submitButton = new Button("Save");
panel.addButton(submitButton);


submitButton.addListener(Events.Select,
new Listener<ButtonEvent>() {
        @Override
        public void handleEvent(ButtonEvent be) {
        panel.setAction(<someactionUrl>);
        panel.submit(); 
}
});

表单提交文件上传开始后,我显示带有取消按钮的进度条。当用户点击取消按钮时,我想中止文件上传(表单提交请求)。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

要取消表单提交,您必须导航或删除包含提交表单的页面。为了实现这一目标,您必须更改提交方式。

提交时:

  1. 深层克隆正在上传的表单元素
  2. 交换原件的克隆输入[type = file]元素。
  3. 创建iframe
  4. 将iframe添加到DOM
  5. 将克隆的表单附加到iframe
  6. 将iframe的id和表单的目标设置为通用的唯一值
  7. 提交克隆表格
  8. 取消:

    1. 删除iframe。

答案 1 :(得分:-1)

您可以查看gwt-upload。我见过基于gwt-upload的样本,你可以在这里取消上传文件。