1

私が書いたこの方法は、1 週間前には正常に機能していましたが、現在は不完全なファイルをダウンロードしています。元のファイルは 10 MB 近くありますが、ダウンロードされるファイルは 2 k です。私のコードは基本的にこれです

Dim URL as string = "http://www.cqc.org.uk/sites/default/files/cqc_locations_export.csv"
Dim path as string = "C:\temp"        
Dim webClient As New WebClient
webClient.Headers.Add("user-agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 (.NET CLR 3.5.30729)")
webClient.DownloadFile(URL, path)

ここで何がうまくいかないのですか?

乾杯

4

5 に答える 5

0

の2番目の引数にDownloadFileは、パスだけでなく完全なファイル名が必要です(また、ドライブのルートはC:\Windows 7で保護されているため、ここに書き込もうとすると、メソッドが例外をスローする可能性があります)

注:完了したら、Webクライアントを破棄することを忘れないでください。

注2:.NETクラス名以外の名前を使用して、名前の衝突を回避することをお勧めします。VBでは大文字と小文字が区別されないことを忘れないでください(C#とは異なります)

以下は私にとってはうまくいきます:

Dim URL As String = "http://www.cqc.org.uk/sites/default/files/cqc_locations_export.csv"
Dim filename As String = "C:\temp\temp.csv"
Using wc As New WebClient
     wc.Headers.Add("user-agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 (.NET CLR 3.5.30729)")
     wc.DownloadFile(URL, filename)
End Using
于 2012-08-09T14:33:10.583 に答える
0

これは私の領域ではありませんが、バイナリ、文字エンコーディング、およびその他のヘッダー データの場合、ファイルのサイズが不足している可能性があります。また、この 2k のファイルは、ファイルまたはメタデータの一部である可能性があります。

于 2012-08-09T11:06:17.103 に答える
-1

ドキュメントは、(2つの異なるバリエーション)
Dim client As New WebClient()
または
Dim client As WebClient のいずれかを提案しているようです

于 2012-08-09T11:15:24.177 に答える