0

WebClient.DownloadFileAsyncを使用して、マシンに非同期でファイルをダウンロードしています。ときどき、二重引用符が付いたURLになってしまうことがあります。

たとえば、次を参照してください: http:
//upload.wikimedia.org/wikipedia/en/d/d3/"Baby"_Palace_Hotel_1906.jpg

ファイル名に二重引用符が含まれている場合、DownloadFileAsyncは「パス内の不正な文字」例外をスローします。DownloadFileAsyncは文字列をパラメーターとして受け入れず、Uriのみを受け入れるため、URLをデコードすることもできません。

この状況に対処するための良い方法は何でしょうか?

4

1 に答える 1

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