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

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

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

VB2005でのFTP(ファイル転送)

VB2005だと、簡単にFTPができますね!
以下のソース、動作確認をしてみました。確かにFTPができました。
ソースをメモしときます。


ちなみに、using ステートメントは以下を参照。

FTPダウンロード(その1)

Imports System.Net

Class WebClientFtpGet
  Shared Sub Main()
    Dim wc As New WebClient()
    wc.Credentials = New NetworkCredential("user01", "mypassword")
    wc.DownloadFile("ftp://servername/pub/secret.png", "tmp.png")
  End Sub
End Class
http://www.atmarkit.co.jp/fdotnet/dotnettips/459ftpwc/ftpwc.html

FTPアップロード(その1)

Imports System.Net

Class WebClientFtpPut
  Shared Sub Main()
    Dim wc As New WebClient()
    wc.Credentials = New NetworkCredential("user01", "mypassword")
    wc.UploadFile("ftp://servername/upload/secret.png", "tmp.png")
  End Sub
End Class

http://www.atmarkit.co.jp/fdotnet/dotnettips/459ftpwc/ftpwc.html

FTPダウンロード(その2)

Imports System
Imports System.Net
Imports System.IO

Class test
  Shared Sub main()

    Dim uri As String = "ftp://servername/pub/secret.png"
    Dim myFile As String = "tmp.png"

    Dim req As WebRequest = WebRequest.Create(uri)
    req.Credentials = New NetworkCredential("user01", "mypassword")
    req.Method = WebRequestMethods.Ftp. DownloadFile ' 省略可

    Using res As WebResponse = req.GetResponse()
      Using st As Stream = res.GetResponseStream()
        Using fs As New FileStream(myFile, FileMode.Create)
          Dim buf(1024) As Byte
          Dim count As Integer = 0

          Do
            count = st.Read(buf, 0, buf.Length)
            fs.Write(buf, 0, count)
          Loop While count <> 0
        End Using
      End Using
    End Using
  End Sub
End Class
http://www.atmarkit.co.jp/fdotnet/dotnettips/460ftpwebreqres/ftpwebreqres.html

FTPアップロード(その2)

Imports System
Imports System.Net
Imports System.IO

Class test
  Shared Sub main()

    Dim uri As String = "ftp://servername/upload/secret.png"
    Dim myFile As String = "tmp.png"

    Dim req As WebRequest = WebRequest.Create(uri)
    req.Credentials = New NetworkCredential("user01", "mypassword")
    req.Method = WebRequestMethods.Ftp.UploadFile

    Using st As Stream = req.GetRequestStream()
      Using fs As New FileStream(myFile, FileMode.Open)
        Dim buf(1024) As Byte
        Dim count As Integer = 0

        Do
          count = fs.Read(buf, 0, buf.Length)
          st.Write(buf, 0, count)
        Loop While count <> 0
      End Using
    End Using
  End Sub
End Class
http://www.atmarkit.co.jp/fdotnet/dotnettips/460ftpwebreqres/ftpwebreqres.html