● VB.NETでFTPを使ったファイルのダウンロード処理サンプルFTPでのファイルダウンロード処理は、FtpWebRequestを利用します。 ※下記のサンプルはこれらをImportしている前提で作成してあります Imports System.Net Imports System.IO
Dim ftpUri As Uri = New Uri("ftp://xxx.jp/xxx.zip") Dim localFileName As String = "xxx.zip" ' FTPへの接続準備(URIの設定) Dim ftpRequest As FtpWebRequest = FtpWebRequest.Create(ftpUri) ' FTPへの接続準備(ユーザー/パスワードの設定) ftpRequest.Credentials = New System.Net.NetworkCredential("user", "password") ' FTPへの接続準備(DownloadFileはファイルのダウンロード処理) ftpRequest.Method = System.Net.WebRequestMethods.Ftp.DownloadFile ' KeepAliveを利用する場合はTrueを設定 ftpRequest.KeepAlive = False ' Binaryファイルをダウロードする場合はTrueを設定 ftpRequest.UseBinary = False ' Passiveモードを利用する場合はTrueを設定 ftpRequest.UsePassive = False ' 受信開始(このタイミングで接続が行われる) Dim ftpResponse As WebResponse = ftpRequest.GetResponse ' 受信結果はStreamより取得する Dim ftpStream As Stream = ftpResponse.GetResponseStream ' この例ではファイルへダウンロードするのでFileStreamを用意する Dim outFileStream As FileStream = New FileStream(localFileName, FileMode.Create, FileAccess.Write) ' 受信に利用するバッファ Dim dataBuffer(8191) As Byte ' 受信処理 Dim readDataSize As Integer = ftpStream.Read(dataBuffer, 0, dataBuffer.Length) Do While readDataSize > 0 ' ローカルファイルへの書き込み outFileStream.Write(dataBuffer, 0, readDataSize) ' データを指定されたバッファ分受信する readDataSize = ftpStream.Read(dataBuffer, 0, dataBuffer.Length) Loop ' 後処理 outFileStream.Close() outFileStream = Nothing ftpStream.Close() ftpStream = Nothing ftpResponse.Close() ftpResponse = Nothing
|