2014-09-25 2 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, он сказал «Незаконные символы в пути».

проверить, что URL действует через браузер Так что вызывает проблему

ответ

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

Try:

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

для файла

Относитесь к тем, как любая другая строка. Первая обратная косая черта - это escape-символ, второй - распознавание обратной косой черты

Смежные вопросы