1

だから私は WebClient クラスを使用してファイルをダウンロードしようとしていますが、問題は、ダウンロードが終了したときにダウンロードする必要があるファイルが 0 バイトであることです。同じファイルを拡張子なしでアップロードしようとしましたが、ダウンロード後に変更することはできませんでした。助けて。私に何ができる?これは私が使用するコードです

WebClient updateDownloader = new WebClient();
updateDownloader.DownloadFile(new Uri("http://zazaia.ucoz.com/SomeExeFile.exe"),      
Application.StartupPath + "\\SomeFile.EXE");

また、MessageBox を表示し、WebClient を Disposes する DownloadCompleted イベント ハンドラーもあります。

4

2 に答える 2

2

あなたが示したコードに問題はなく、これはうまくいくはずです。問題は、ファイルを正しく返していないサーバーにあります。また、照会しているサイトが、ファイルをダウンロードする前に何らかの認証を必要としないことを確認してください。それに加えて、WebClient は JavaScript を実行しないことを忘れないでください。そのため、サーバーがそれに依存してファイルをダウンロードする場合、これは発生しません。

于 2013-02-23T17:14:40.903 に答える
1

ウイルス対策が干渉していないことを確認しましたか? 場合によっては、自動スキャンによって、ダウンロード中の実行可能ファイルがパスするまでロックされることがあります。ただし、クライアント コード自体は正常に見えます。

サーバー側はどうですか?がダウンロードを提供する独自のアプリケーションの 1 つである場合、MIME ヘッダーが設定されていないか、ダウンロードがまったく正しく処理されていない可能性があります

于 2013-02-23T17:21:45.700 に答える