小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

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