My.Computer.Network.DownloadFile メソッド
更新 : 2007 年 11 月
指定のリモート ファイルをダウンロードし、指定の場所に保存します。
' Usage
My.Computer.Network.DownloadFile(address ,destinationFileName)
My.Computer.Network.DownloadFile(address ,destinationFileName)
My.Computer.Network.DownloadFile(address ,destinationFileName ,userName ,password)
My.Computer.Network.DownloadFile(address ,destinationFileName ,userName ,password)
My.Computer.Network.DownloadFile(address ,destinationFileName ,userName ,password ,showUI ,connectionTimeout ,overwrite)
My.Computer.Network.DownloadFile(address ,destinationFileName ,userName ,password ,showUI ,connectionTimeout ,overwrite ,onUserCancel)
My.Computer.Network.DownloadFile(address ,destinationFileName ,userName ,password ,showUI ,connectionTimeout ,overwrite)
My.Computer.Network.DownloadFile(address ,destinationFileName ,userName ,password ,showUI ,connectionTimeout ,overwrite ,onUserCancel)
My.Computer.Network.DownloadFile(address ,destinationFileName ,networkCredentials ,showUI ,connectionTimeout ,overwrite)
My.Computer.Network.DownloadFile(address ,destinationFileName ,networkCredentials ,showUI ,connectionTimeout ,overwrite ,onUserCancel)
' Declaration
Public Sub DownloadFile( _
ByVal address As String, _
ByVal destinationFileName As String _
)
' -or-
Public Sub DownloadFile( _
ByVal address As System.Uri, _
ByVal destinationFileName As String _
)
' -or-
Public Sub DownloadFile( _
ByVal address As String, _
ByVal destinationFileName As String, _
ByVal userName As String, _
ByVal password As String _
)
' -or-
Public Sub DownloadFile( _
ByVal address As System.Uri, _
ByVal destinationFileName As String, _
ByVal userName As String, _
ByVal password As String _
)
' -or-
Public Sub DownloadFile( _
ByVal address As String, _
ByVal destinationFileName As String, _
ByVal userName As String, _
ByVal password As String, _
ByVal showUI As Boolean, _
ByVal connectionTimeout As Integer, _
ByVal overwrite As Boolean _
)
' -or-
Public Sub DownloadFile( _
ByVal address As String, _
ByVal destinationFileName As String, _
ByVal userName As String, _
ByVal password As String, _
ByVal showUI As Boolean, _
ByVal connectionTimeout As Integer, _
ByVal overwrite As Boolean, _
ByVal onUserCancel As UICancelOption _
)
' -or-
Public Sub DownloadFile( _
ByVal address As System.Uri, _
ByVal destinationFileName As String, _
ByVal userName As String, _
ByVal password As String, _
ByVal showUI As Boolean, _
ByVal connectionTimeout As Integer, _
ByVal overwrite As Boolean _
)
' -or-
Public Sub DownloadFile( _
ByVal address As System.Uri, _
ByVal destinationFileName As String, _
ByVal userName As String, _
ByVal password As String, _
ByVal showUI As Boolean, _
ByVal connectionTimeout As Integer, _
ByVal overwrite As Boolean, _
ByVal onUserCancel As UICancelOption _
)
' -or-
Public Sub DownloadFile( _
ByVal address As System.Uri, _
ByVal destinationFileName As String, _
ByVal networkCredentials As System.Net.ICredentials, _
ByVal showUI As Boolean, _
ByVal connectionTimeout As Integer, _
ByVal overwrite As Boolean _
)
' -or-
Public Sub DownloadFile( _
ByVal address As System.Uri, _
ByVal destinationFileName As String, _
ByVal networkCredentials As System.Net.ICredentials, _
ByVal showUI As Boolean, _
ByVal connectionTimeout As Integer, _
ByVal overwrite As Boolean, _
ByVal onUserCancel As UICancelOption _
)
パラメータ
address
String または Uri。ダウンロードするファイルのパスを、ファイル名とホスト アドレスを含めて指定します。必ず指定します。destinationFileName
String です。ダウンロードしたファイルの保存時のファイル名とパスを指定します。必ず指定します。userName
String です。認証するためのユーザー名を指定します。既定値は空の文字列 ("") です。password
String です。認証するためのパスワードを指定します。既定値は空の文字列 ("") です。showUI
Boolean です。操作の進行状況を表示するかどうかを指定します。既定値は False です。connectionTimeout
Int32 です。タイムアウト時間をミリ秒を単位として指定します。既定値は 100 秒です。overwrite
Boolean です。既存のファイルを上書きするかどうかを指定します。既定値は False です。onUserCancel
UICancelOption です。ShowUI を True に設定した結果として表示されるダイアログ ボックスで、ユーザーが [キャンセル] または [いいえ] をクリックしたときに、どのような動作を実行するかを指定します。既定値は ThrowException です。networkCredentials
ICredentials です。資格情報を指定します。
例外
例外がスローされる可能性のある状況を次に示します。
ドライブ名が無効です (ArgumentException)。
destinationFileName がスラッシュで終わっています (ArgumentException)。
overwrite が False に設定されていますが、コピー先のファイルが既に存在します (IOException)。
サーバーが、指定された connectionTimeout の間に応答しません (TimeoutException)。
認証がエラーになります (SecurityException)。
ユーザーに必要なアクセス許可がありません (SecurityException)。
要求が Web サイトによって拒否されます (WebException)。
解説
showUI が True に設定されている場合、操作の進行状況を示すダイアログ ボックスが表示されます。このダイアログ ボックスにある [キャンセル] ボタンをクリックすると、操作をキャンセルできます。このダイアログ ボックスはモーダルではないため、プログラムの他のウィンドウへの入力を妨げません。
サーバーが指定の connectionTimeout の間に応答しない場合、操作はキャンセルされ、例外がスローされます。
DownloadFile は、アプリケーションでネットワークのトレースが有効になっている場合に、トレース情報を出力します。詳細については、「ネットワーク トレースの有効化」を参照してください。
メモ : |
---|
DownloadFile メソッドは、オプションの HTTP ヘッダーを送信しません。サーバーによっては、オプションのユーザー エージェント ヘッダーが見つからない場合に 500 (内部サーバー エラー) を返すこともあります。オプションのヘッダーを送信するには、WebClient クラスを使用して要求を作成する必要があります。詳細については、「Visual Basic による .NET Framework でのネットワーク操作」を参照してください。 |
セキュリティに関するメモ : |
---|
FTP プロトコルは、パスワードを含む情報をプレーンテキストで送信するため、重要な情報の送信には使用しないでください。 |
処理手順
My.Computer.Network.DownloadFile メソッドに関連するタスクの例を次の表に示します。
タスク |
参照項目 |
---|---|
ファイルをダウンロードします。 |
使用例
次のコード例は、WineList.txt というファイルを http://www.cohowinery.com/downloads からダウンロードし、C:\Documents and Settings\All Users\Documents に保存します。
My.Computer.Network.DownloadFile _
("http://www.cohowinery.com/downloads/WineList.txt", _
"C:\Documents and Settings\All Users\Documents\WineList.txt")
次のコード例は、タイアウト時間を 500 ミリ秒に設定して、WineList.txt というファイルを http://www.cohowinery.com/downloads からダウンロードし、C:\Documents and Settings\All Users\Documents に保存します。
My.Computer.Network.DownloadFile _
("http://www.cohowinery.com/downloads/", _
"C:\Documents and Settings\All Users\Documents\WineList.txt", _
"", "", False, 500, True)
必要条件
名前空間 : Microsoft.VisualBasic.Devices
クラス : Network
アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll 内)
プロジェクトの種類別の可用性
プロジェクトの種類 |
使用可/不可 |
---|---|
Windows アプリケーション |
あり |
クラス ライブラリ |
あり |
コンソール アプリケーション |
あり |
Windows コントロール ライブラリ |
あり |
Web コントロール ライブラリ |
あり |
Windows サービス |
あり |
Web サイト |
あり |
アクセス許可
以下のアクセス許可が必要な場合があります。
アクセス許可 |
説明 |
---|---|
ファイルとフォルダへのアクセス許可を制御します。関連する列挙値 : Unrestricted。 |
|
ユーザー インターフェイスおよびクリップボードに関連するアクセス許可を制御します。関連する列挙値 : AllWindows。 |
|
HTTP インターネット リソースへのアクセス許可を制御します。関連する列挙値 : Unrestricted。 |
詳細については、「コード アクセス セキュリティ」および「アクセス許可の要求」を参照してください。
参照
処理手順
方法 : Visual Basic でファイルをダウンロードする
方法 : Visual Basic でリモート コンピュータが利用可能かどうかを確認する
方法 : Visual Basic でファイル パスを解析する