VB2005のFTPでファイルサイズを求めるには
基本的には、以下の手順で求められました。
- FTP用のWebRequestオブジェクトを作成する。
- アイデイとパスワードのクレデンシャルをWebRequestオブジェクトへセットする。
- ゲットファイルサイズメソッドをWebRequestオブジェクトへセットする。
- WebRequestオブジェクトのゲットレスポンスメソッドをコールする。
- ゲットレスポンスメソッドからファイルサイズがコンテントレングスにセットされる。
Dim szRequest As FtpWebRequest = WebRequest.Create("ftp://xxx.xxx.xxx/xxx.txt") szRequest.Credentials = New System.Net.Net.NetworkCredential(アイデイ,パスワード) szRequest.Method = WebRequestMethods.Ftp.GetFileSize Dim szResponse As FtpWebResponse = szRequest.GetResponse() Dim lngFileSize As Long = szResponse.ContentLength szRequest.Close()
MSDNだとFtp.GetFileSizeだけでファイルサイズが求められるような感じになっていますが…。
いくらやっても、Ftp.GetFileSizeだけではファイルサイズはもとめられませんでした。
Googleのコード検索で上記のヒントを見つけました。
追記:
IEのプロキシの設定でFTPができない時があります。
そのような時は、以下で、本プログラムにとって、その設定を無効にすることが出来ます。
szRequest.proxy = Nothing