我正在使用WebClient。DownloadFileAsync将文件异步下载到我的机器。有时候,我最终会得到带有双引号的url。
例如:
http://upload.wikimedia.org/wikipedia/en/d/d3/"宝贝"_Palace_Hotel_1906.jpg。
DownloadFileAsync在文件名包含双引号时抛出"非法字符路径"异常。我无法解码url,因为DownloadFileAsync不接受字符串作为参数,而只接受Uri。
处理这种情况的好方法是什么?
奇怪的是,下面的工作对我来说很好:
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();
}
}
}