我使用WebClient.DownloadFileAsync将文件异步下载到我的机器上。偶尔,我最终会得到一个双引号的URL。
例如,请参阅:
http://upload.wikimedia.org/wikipedia/en/d/d3/"Baby"_Palace_Hotel_1906.jpg
当文件名包含双引号时,DownloadFileAsync会抛出“路径中的非法字符”异常。我无法解码网址,因为DownloadFileAsync不接受字符串作为参数,只接受Uri。
处理这种情况的好方法是什么?
答案 0 :(得分:0)
很奇怪,以下对我来说很好:
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();
}
}
}