2013-02-27 138 views
0

我想要的是用戶可以在他的本地驅動器中選擇一個完整路徑,然後將文件(它位於我的應用程序的戰爭文件夾中)保存在該選定的用戶位置如何使用GWT將文件從服務器下載到本地驅動器

我正在使用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

http://stackoverflow.com/questions/11048223/binary-data-and-gwt/11096410#11096410 – 2013-02-28 03:39:42

回答

0

你不能從GWT這樣做,因爲JavaScript有到本地硬盤驅動器的訪問權限。您可以做的最好的事情是正常啓動下載(例如,顯示指向用戶可點擊的文件的鏈接)。根據他們的瀏覽器設置,他們將爲文件選擇一個位置,或者將其下載到某個默認位置。只用JavaScript就無法知道該位置。

如果這是一個項目需求,我認爲你需要包含像java或flash這樣的重量級插件。

+0

謝謝,是的,它的一個項目的要求,讓我簡要介紹一下,可能你可以拿出一些其他的想法,目的是讓管理員的網站採取我當前的數據庫的sqldump並將其保存在一些電腦的地方。現在我將文件保存在war文件夾中,它的工作正常,或者有沒有一種方法可以讓用戶看到war文件夾中的文件? – junaidp 2013-02-27 16:42:32

相關問題