2014-09-25 78 views
-1

我有以下代碼,它將URL保存爲本地文件。將圖像從URL保存到C#中的本地文件中

using (WebClient client = new WebClient()) 
{ 
    client.DownloadFile("http://images.craigslist.org/00o0o_kFhPDdTGf2e_600x450.jpg", "c:\\Tmp\test.jpg"); 
} 

但是當我運行它時,我得到一個異常。它說'WebClient請求期間發生異常。「 當我在deubgger中看到該異常時,它說'路徑中存在非法字符'。

我檢查網址是通過我的瀏覽器有效那麼是什麼原因造成的問題

回答

0

你應該使用,這樣

 using (WebClient client = new WebClient()) 
     { 
      client.DownloadFile(@"http://images.craigslist.org/00o0o_kFhPDdTGf2e_600x450.jpg",        @"c:\\Tmp\test.jpg"); 
     } 
0

你的路徑包含製表符:?\t逃生第二反斜線:"C:\\Tmp\\test.jpg"

0
"c:\\Tmp\test.jpg" 

你忘了躲過第二t

您應該使用@"c:\Tmp\test.jpg""c:\\Tmp\\test.jpg"

0

只需在路徑名前面加一個@符號。

 using (WebClient client = new WebClient()) 
     { 
      client.DownloadFile(@"http://images.craigslist.org/00o0o_kFhPDdTGf2e_600x450.jpg", @"c:\Tmp\test.jpg"); 
     } 
0

您的路徑包含\t這是一個非法的路徑字符。反斜槓是C#中的一個保留字符,用於製表符和行結尾等字符,因此必須轉義。

您可以使它成爲一個雙反斜線"C:\\Tmp\\test.jpg",或逃避整個字符串以@字符開頭@"C:\Tmp\test.jpg"

0

嘗試@符號:

"C:\\Tmp\\test.jpg" 

爲您的文件名

對待那些像任何其他字符串。第一個反斜槓是轉義字符,第二個是識別反斜槓

相關問題