WebClient DownloadFileAsync Недопустимые символы в пути
Я использую WebClient.DownloadFileAsync для асинхронной загрузки файлов на мой компьютер. Иногда я получаю URL-адреса с двойными кавычками.
Например, посмотрите это:
http://upload.wikimedia.org/wikipedia/en/d/d3/%22Baby%22_Palace_Hotel_1906.jpg.
DownloadFileAsync генерирует исключение "Недопустимые символы в пути", когда имя файла содержит двойные кавычки. Я не могу декодировать URL либо, так как DownloadFileAsync не принимает строку в качестве параметра, но только Uri.
Что было бы хорошим способом справиться с этой ситуацией?
1 ответ
Странно, у меня отлично работает подписка:
class Program
{
static void Main()
{
using (var client = new WebClient())
{
client.DownloadFileCompleted += (sender, e) =>
{
Console.WriteLine("finished");
};
client.DownloadFileAsync(new Uri("http://upload.wikimedia.org/wikipedia/en/d/d3/\"Baby\"_Palace_Hotel_1906.jpg"), "test.jpg");
Console.ReadLine();
}
}
}