2011-11-02 75 views
0

我想開發一個網頁,它將允許用戶下載到那裏的選擇目錄。在我的搜索找到這樣做,我發現你不能使用「FolderBrowserDialog」。我也發現在線示例只會搜索websrver directeory路徑,而不是本地機器。有無論如何獲得目錄路徑?我有FTP下載文件的代碼,我只需要替換「FolderBrowserDialog」的代碼即可。ASPX C#如何下載用戶需要的文件?

+0

我不認爲可以訪問服務器上的用戶目錄結構 –

+0

下載文件是瀏覽器功能。當用戶下載文件時,任何瀏覽器都會提示類似於SaveFileDialog的對話框。某些瀏覽器可能有一個默認的下載路徑(即GoogleChrome)。您只需編寫一些代碼以開始下載 - tmt - 將請求的文件寫入響應流(請參閱:http://msdn.microsoft.com/zh-cn/library/system.web.httpresponse.writefile(v = vs.71).aspx) - hth –

回答

6

這不是真的取決於你作爲一個網站,它真的是瀏覽器的工作,存儲他們想要下載文件的位置。在這裏進行的網站和客戶端機器之間有一個相當必要的分離。

0

在Web應用程序中,您不能在用戶的計算機上隨意讀取或寫入內容。這將是一個巨大的安全漏洞,所以它不可能完成。 「另存爲」對話框完全是客戶端。只要設置了MIME類型並將文件數據發送出去,您就可以立即控制下載過程。

+0

我正在使用FTP,我只需要獲取他們想要的路徑。一旦我擁有了我認爲自己會成爲好人的道路,但我想要的是除了文本框之外的東西來獲得路徑。 – StephanM

+0

如果您使用的是FTP,那麼它與ASPX頁面有什麼關係?請澄清你想要做的事情。 –

+0

在我的頁面上,我擁有訪問我們的FTP站點的所有內容,目前我可以顯示文件,上傳文件和刪除。全部使用C#和我的ASPX界面。現在試圖做下載,而不必說,請將您的下載位置粘貼到此文本框中。他們給了我們一個上傳控件,但沒有下載控件來收集路徑名。 – StephanM

0

瀏覽器通常不會讓你選擇個人下載的位置。您可以更改瀏覽器設置以更新下載文件夾。如果你想在你的網頁上有這個,你可能需要有一個ActiveX控件。這個ActiveX控件可以顯示客戶端機器中的目錄,以便用戶可以選擇這些目錄。您需要編寫代碼使用WebClient.DownloadFile方法將文件下載到該位置。

http://msdn.microsoft.com/en-us/library/ez801hhe.aspx

不要指望這個ActiveX控件的作品與您的所有users.Browsers通常阻止ActiveX控件或提示用戶(如果設置就是這樣)。