2016-05-09 24 views
2

我想下載位於互聯網網站上的文件,我知道如何處理WebClient類。如何禁用下載提示像'你想打開還是保存還是保存?'

但是在這種情況下,該網站被重定向到某個網址,因此,我正在考慮使用Process.Start("URL address before re-directed")來避免通過重定向網址下載比特的複雜性。我甚至成功通過重定向的網址下載文件。

但是,我很好奇,想要通過刪除一些中間步驟來加快我的應用程序,如果可能的話。

如果我通過Process.Start("URL address before re-directed")接近,Download Prompt顯示爲要求用戶喜歡'你想打開嗎?保存?另存爲?'。

而且我不希望這個下載提示顯示,想自動保存,利用該文件在我的應用程序。(如果可能的話,我想指出的位置(路徑)進行保存。)

非常感謝 !

回答

2

Process.Start("Some URL")只是告訴操作系統來處理URL。操作系統看到一個URL並將其提供給默認瀏覽器。默認瀏覽器會執行任何配置。因此,使用Process.Start("Some URL")時,您無法強制默認瀏覽器不顯示下載提示。您可能正在尋找HttpWebRequest.AllowAutoRedirect。從MSDN

例子:

HttpWebRequest myHttpWebRequest= (HttpWebRequest)WebRequest.Create("http://www.contoso.com"); 
myHttpWebRequest.MaximumAutomaticRedirections=1; 
myHttpWebRequest.AllowAutoRedirect=true; 
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse(); 

當然,你想有一個文件:

using (var stream = myHttpWebResponse.GetResponseStream()) { 
    using (var fileStream = new FileStream(filePath, FileMode.Create)) { 
     stream.CopyTo(fileStream); 
    } 
} 
+0

非常感謝您的excellnet知識。我想你的建議,但該文件中包含的網址重新定向爲我已經爲我的問題似乎也許有點混淆..?你能否讓代碼從重定向的網址下載?非常感謝 ! :) –

+0

@KayLee所以你不是在談論好的HTTP重定向,而是在討論邪惡的腳本重定向。那麼你可能是運氣不好...... –

+0

親愛的費邊,我只需要從重定向的網址下載。我無法理解黑暗腳本重定向的意義..我決定按照我的初步想法首先像你一樣下載並提取地址以重新定向,然後繼續前進。希望貨物和你在一起! :) –

相關問題