2013-04-29 105 views
1

我想從我的網站下載一個文本文件到用戶pc,而不會提示他保存該文件的位置。使用asp.net下載客戶端macine上的文件

我一直在使用下面的代碼試了一下:每次我只是重定向到新的頁面和文件的全部內容被寫有時間

Response.TransmitFile("G:\Medical Reporting\Medical\Users\Vishal\Uploaded\Key.txt") 
Response.End() 

不過。我不想顯示文件的內容,但我想下載文件。

回答

5

不可能 - 這是一個安全問題,否則世界將嘗試保存用戶計算機上的各種文件。

如果是內聯網,每個用戶可以在網絡應用程序可訪問的網絡上共享驅動器,並使用IO.File.Copy方法簡單複製文件。

更新

提示用戶下載,您可以使用下面的代碼,將點擊一個按鈕樣的東西之後被解僱文件:

這個例子是一個圖像,雖然你可以只需更改ContentType文件名以滿足您的需求。

Response.ContentType = "image/jpeg"; 
// this is the important bit that gives the user the prompt to save 
Response.AppendHeader("Content-Disposition","attachment; filename=yourfile.jpg"); 
Response.TransmitFile(Server.MapPath("~/yourfile.jpg")); 
Response.End(); 
+0

可能是你不瞭解我。我想提示客戶他要保存文件。但我不想提示他在哪裏保存文件。我的意思是我想要在默認位置下載文件 – Vishal 2013-04-29 18:43:23

+0

這也是不可能的。這是一個安全問題。您無法覆蓋用戶希望存儲文件的位置。除了安全問題之外,服務器也不知道用戶計算機的文件系統。 I.E它可能是Mac,PC,Linux - 前兩種有不同的文件路徑。 – Darren 2013-04-29 18:45:52

+0

它確定。你能告訴我如何提示用戶他想下載文件嗎?如果用戶點擊保存文件按鈕,那麼應該下載的代碼是什麼? – Vishal 2013-04-29 18:48:59