質問

私は、WPFアプリケーションを持って、私は、ファイルをダウンロードしたい。

私はSystem.Netを使用しています。そして私は、次のコードを持っています:

WebClient ww = new WebClient();
ww.DownloadFileAsync(
    new Uri("http://www.sinvise.net/tester/1.jpg"), 
    AppDomain.CurrentDomain.BaseDirectory + "\\1.jpg");

問題があり、それはファイルをダウンロードしない、それだけ0キロバイトのファイルとして表示してダウンロードしていないということです、私は、問題が何であるか缶誰の助けを知らないのか?

役に立ちましたか?

解決 3

答えが見つかり、私はIPアドレスを使用している場合DownloadFileチェックDNSは、最初は何も前に、それはチェックを行わないことを読んで、すぐに動作します。

このしかし上のeveryonesの助けてくれてありがとう。

他のヒント

どのように DownloadFileCompleted のリスニングについてイベントや AsyncCompletedEventArgs.Error のプロパティのインクルードをチェックしますイベント転送ハンドラに?

    public static void DownLoadFileInBackground(string address)
    {
        WebClient client = new WebClient();
        Uri uri = new Uri(address);
        client.DownloadFileCompleted += (sender,e)=>
                                        {
                                            //inspect e here:
                                            //e.Error
                                        };
        client.DownloadProgressChanged += (sender,e)=>
                                          {
                                              //e.ProgressPercentage
                                          };
        client.DownloadFileAsync(uri, "blabla");
    }

一部のWebサイトは、要求内の特定のヘッダを持っていけない要求をブロック。 特定の一つには、私が過去に発見したが、「ユーザーエージェント」ヘッダーで、ブラウザ要求からヘッダをコピーしようとすると、あなたのWebクライアント

にそれを追加
WebClient.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0)");

私はあなたが同じファイルの既存および閉じていないWebRequestクラスを持っているときDownloadFileAsync方法は、(私はDownloadFileのために話すことができない)動作しないことを追加したいと思います。少なくともそれは私の経験です。それはそれは、フレームワークまたはサーバーによって許可されていないことがあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top