0

我正在使用 WebClient.DownloadFileAsync 将文件异步下载到我的机器上。有时,我会得到带有双引号的 URL。

例如,参见: http:
//upload.wikimedia.org/wikipedia/en/d/d3/ "Baby"_Palace_Hotel_1906.jpg 。

当文件名包含双引号时,DownloadFileAsync 会引发“路径中的非法字符”异常。我也无法解码 url,因为 DownloadFileAsync 不接受字符串作为参数,而只接受 Uri。

处理这种情况的好方法是什么?

4

1 回答 1

0

奇怪的是,follownig对我来说很好:

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();
        }
    }
}
于 2011-09-28T07:17:27.387 回答