Home 開発関連情報 VB.NET VB.NETでFTPを使ったファイルダウンロード
VB.NETでFTPを使ったファイルダウンロード PDF 印刷 Eメール
作者 熊川 勝   
2008年05月 27日(火曜日) 16:02

● 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

LAST_UPDATED2
 
HSB WebSite - フリーITエンジニア 熊川のWebSite -, Powered by Joomla! and designed by SiteGround web hosting