「WebRequest、WebResponseクラスを使ってファイルをダウンロードし表示する」では、指定されたURL(URI)からデータをダウンロードする方法を説明しています。また、ダウンロードしたデータをファイルに書き込む方法は、「バイト型配列をファイルに書き込む」が参考になります。
このような方法により、「http://localhost/logo.gif」をダウンロードして、ファイルに保存する例を以下に示します。
'ダウンロードするファイル Dim url As String = "http://localhost/logo.gif" '保存先のファイル名 Dim fileName As String = "C:\test\logo.gif" 'WebRequestを作成 Dim webreq As System.Net.HttpWebRequest = DirectCast( _ System.Net.WebRequest.Create(url), System.Net.HttpWebRequest) 'サーバーからの応答を受信するためのWebResponseを取得 Dim webres As System.Net.HttpWebResponse = DirectCast( _ webreq.GetResponse(), System.Net.HttpWebResponse) '応答データを受信するためのStreamを取得 Dim strm As System.IO.Stream = webres.GetResponseStream() 'ファイルに書き込むためのFileStreamを作成 Dim fs As New System.IO.FileStream(fileName, _ System.IO.FileMode.Create, System.IO.FileAccess.Write) '応答データをファイルに書き込む Dim readData As Byte() = New Byte(1023) {} While True 'データを読み込む Dim readSize As Integer = strm.Read(readData, 0, readData.Length) If readSize = 0 Then 'すべてのデータを読み込んだ時 Exit While End If '読み込んだデータをファイルに書き込む fs.Write(readData, 0, readSize) End While '閉じる fs.Close() strm.Close()
//ダウンロードするファイル string url = "http://localhost/logo.gif"; //保存先のファイル名 string fileName = "C:\\test\\logo.gif"; //WebRequestを作成 System.Net.HttpWebRequest webreq = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url); //サーバーからの応答を受信するためのWebResponseを取得 System.Net.HttpWebResponse webres = (System.Net.HttpWebResponse)webreq.GetResponse(); //応答データを受信するためのStreamを取得 System.IO.Stream strm = webres.GetResponseStream(); //ファイルに書き込むためのFileStreamを作成 System.IO.FileStream fs = new System.IO.FileStream( fileName, System.IO.FileMode.Create, System.IO.FileAccess.Write); //応答データをファイルに書き込む byte[] readData = new byte[1024]; for (; ; ) { //データを読み込む int readSize = strm.Read(readData, 0, readData.Length); if (readSize == 0) { //すべてのデータを読み込んだ時 break; } //読み込んだデータをファイルに書き込む fs.Write(readData, 0, readSize); } //閉じる fs.Close(); strm.Close();