首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gwt-ext文件上传

gwt-ext文件上传
EN

Stack Overflow用户
提问于 2008-12-05 17:20:01
回答 2查看 5K关注 0票数 1

我正在尝试从gwt-ext上传文件,但没有弹出对话框。为此,我创建了一个FormPanel并向其中添加了适当的字段。然后做了一个form.submit()。这似乎不管用。知道为什么吗?代码如下所示。

代码语言:javascript
复制
final FormPanel uploadForm = new FormPanel();
uploadForm.setVisible(false);
uploadForm.setFileUpload(true);
final TextField sourceFile = new TextField("File", "sourceFile");
sourceFile.setVisible(false);
sourceFile.setInputType("file");
sourceFile.setValue("/tmp/test.txt");

final TextField targetFile = new TextField("Upload As", "targetFile");
targetFile.setVisible(false);
targetFile.setValue("different.txt");

uploadForm.add(sourceFile);
uploadForm.add(targetFile);

final String url = GWT.getModuleBaseURL() + "/uploadFile";
uploadForm.getForm().submit(url, null, Connection.POST, null, false);

我用一个简单的html表单在服务器端测试了这个servlet,它工作正常。只有GWT-EXT版本似乎不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-12-12 19:44:42

我发现了上面这段代码不工作的原因。这里的主要问题是,如果上传表单尚未呈现和/或在用户单击提交按钮后表单已被修改,则由于安全原因,浏览器会阻止文件上传。如果浏览器确实允许这样的事情,那么系统上的任何文件都可以在用户不知情的情况下轻松上载。

上述问题的解决方案是打开对话框,在submit按钮的事件处理程序中执行upload,在表单侦听器的onActionComplete方法中执行任何其他处理。

票数 0
EN

Stack Overflow用户

发布于 2009-06-04 14:18:18

在我看来,在没有对话框的情况下上传的整个想法是一个安全漏洞。我可以想象一个应用程序在打开时窃取密码文件,如果上面的情况是可能的话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/344580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档