2012-11-17 59 views
2

下面是我寫的,我下載一個文件的代碼, 現在我需要將文件下載到客戶端中的特定位置system.I'll打通路徑來自用戶的輸入。 我知道這不是好惹的客戶端系統,但我不得不這樣做將文件下載到特定位置在客戶端系統

 //setting the content type of response 
     response.setContentType("application/"+strFileType); 

     response.setHeader("content-disposition","attachment; filename="+strFileName+"."+strFileType); 

     //creating a file input stream object 
     InputStream input = blob.getBinaryStream(); 

     //declaring a variable 
     int i; 
     while((i=input.read())!=-1) 
     { 
      //writing output 
      printWriter.write(i); 
     } 

     //closing the streams 
     input.close(); 
     printWriter.close(); 
+2

無法從服務器完成。這將是一個很大的安全漏洞。 – madth3

+0

似乎這是服務器端代碼...你在客戶端嘗試過什麼? – vels4j

+1

如果您已經以需要此功能的方式設計了程序,那麼您(可能)要麼設計惡意軟件,要麼設計錯誤。 –

回答

4

我知道這不是好惹的客戶端系統,但我不得不這樣做....

那麼好消息(從用戶的角度來看!)是你不能這樣做。即使你「必須」。 Web瀏覽器專門用於阻止您(服務器端)執行此類操作。

唯一客場的解決辦法是實現在可信瀏覽器插件或小應用程序或用戶具有對他/她的機器上特別安裝的東西的功能。


...其中使用來自用戶所採取的路徑,我這個編程就像FTP服務器,但一邊是數據庫

的問題是,瀏覽器無法WAY以判斷您是否出於合法目的進行此操作......或試圖摧毀系統/用戶文件,植入惡意軟件或任何其他可能會對用戶造成危害的其他事情。

它不會採取讓你這樣做的風險,這是一件好事。

1
+0

*「如果我們更新此所有文件將下載到該路徑」*方式'disenfranchise'用戶! *「** note:**」*,但'note'爲+1。 ;) –

0

如果你是一個內部網和可以信任的服務器,使用applet或授予訪問權限類似technolofgies ...但再一次,這是非常糟糕的。