2011-11-19 57 views
0

我正在做一個C#windows應用程序,並且需要知道如何下載一個與查詢字符串鏈接的圖片,例如www.mywebsite.com/img.aspx?imgid=12345(它會自動重定向到基於imgid的相應圖片)。我需要將文件保存到某處的磁盤。我不需要任何大的花哨的下載管理器,只是從重定向URL獲取這種圖像的最簡潔的方式。如何使用具有查詢字符串而不是圖像路徑的URL下載圖像?

+1

雖然已經解決了,但我忘了指出我有0.2%的C#經驗。 –

回答

7

你應該能夠做到這一點是這樣的:

using (WebClient Client = new WebClient()) 
{ 
    Client.DownloadFile("http://www.mywebsite.com/img.aspx?imgid=12345", "12345.jpg"); 
} 
+0

我試過了,它沒有正常工作。它創建了一個文件,但文件只有1kb,沒有任何文件。然後,當然,當試圖將這個文件加載到PictureBox時,它失敗了,「參數無效」。我正在做'WebClient客戶端=新的WebClient();'和'Client.DownloadFile(txtURL.Text,「C:\\ 12345.jpg」);' –

+0

是你嘗試加載的網址實際上是一個HTTP重定向到圖像文件?即在圖像加載之後,您在瀏覽器中看到不同的網址了嗎? – Jason

+0

它不改變鏈接,沒有。在Firefox中,它只是提示保存jpeg文件,而在IE中,它會顯示圖像,與查詢字符串仍然是相同的鏈接。保存文件的提示不會告訴我圖片的完整路徑,但會顯示圖像文件名。 Chrome會說「重定向...」,然後自動保存圖片並顯示在Chrome的底部。在任何情況下,它都不會顯示圖片的新網址。 –

3

使用WebClient類和他的DownloadFile方法。 http://msdn.microsoft.com/en-us/library/ez801hhe.aspx

在方法的URI中傳遞查詢字符串參數是完全可以接受的。

+0

(一般與上面的答案相同,只是不作描述) –

+1

@JerryDodge此答案首先發布,僅供參考。所以,其他答案通常與* this *相同,只是更具描述性。 –

1

您的文件將在bin/debug文件夾,將在您的瀏覽器下載文件的擴展名。像

{ 
      using (WebClient client = new WebClient()) { 
       client.DownloadFile("http://www.mywebsite.com/img.aspx?imgid=12345", "selectedfile.gif"); 
      } 
     } 
相關問題