我想要的是用户可以在他的本地驱动器中选择一个完整的路径,然后一个文件(现在我的应用程序的war文件夹中)将保存在所选的用户位置
我在GWT中使用文件上传来上传我的文件,它的工作正常,我还会使用FileUpload进行下载吗?
另外对于第二个选项,如果有可能获得用户选择的位置,例如d:\ downloadfolder,我的问题将解决,我将完成其余的工作!
下面是上传的代码,请帮我下载
final String UPLOAD_ACTION_URL = GWT.getModuleBaseURL() + "upload";
initWidget(panelImages);
final FormPanel form = new FormPanel();
form.setAction(UPLOAD_ACTION_URL);
form.setEncoding(FormPanel.ENCODING_MULTIPART);
form.setMethod(FormPanel.METHOD_POST);
VerticalPanel panel = new VerticalPanel();
form.setWidget(panel);
FileUpload upload = new FileUpload();
upload.setName("uploadFormElement");
panel.add(upload);
// Add a 'submit' button.
panel.add(new Button("Submit", new ClickHandler() {
public void onClick(ClickEvent event) {
form.submit();
}
}));
form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
public void onSubmitComplete(SubmitCompleteEvent event) {
if(event.getResults().contains("DataBase Restored")){
Window.alert("Database Restored !");
}
}
});
panelImages.add(form);
答案 0 :(得分:0)
您无法从GWT执行此操作,因为JavaScript无法访问本地硬盘驱动器。您可以做的最好是正常启动下载(例如,显示用户可以单击的文件的链接)。根据他们的浏览器设置,他们可以选择文件的位置,也可以将其下载到某个默认位置。你只能用JavaScript知道这个位置。
如果这是项目要求,我认为你需要包含一个比较重的插件,如java或flash。