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)。
要求已遭網站拒絕 (WebException)。
備註
如果 showUI 設為 True,則會出現一個對話方塊,顯示作業的進度並包括 [取消] 按鈕,讓使用者可用於取消作業。此對話方塊不是強制回應 (Modal) 的,所以它不會封鎖使用者對程式中其他視窗的輸入。
如果伺服器在指定的 connectionTimeout 內沒有回應,作業將會取消,並擲回例外狀況。
當您在應用程式中啟用網路追蹤時,DownloadFile 會輸出追蹤資訊。如需詳細資訊,請參閱啟用網路追蹤。
注意事項: |
---|
DownloadFile 方法不會傳送選擇性 HTTP 標頭。如果選擇性使用者代理程式標頭遺失,某些伺服器可能會傳回 500 (內部伺服器錯誤)。若要傳送選擇性標頭,您必須使用 WebClient 類別 (Class) 建構要求。如需詳細資訊,請參閱 .NET Framework 中使用 Visual Basic 的網路作業。 |
安全性注意事項: |
---|
FTP 通訊協定 (Protocol) 會以純文字傳送資訊 (包括密碼),因此不應該用於傳輸機密資訊。 |
工作
下表列出包含 My.Computer.Network.DownloadFile 方法的工作範例。
若要 |
請參閱 |
---|---|
下載檔案 |
範例
這個範例會從 http://www.cohowinery.com/downloads 下載檔案 WineList.txt,並儲存於 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")
這個範例會從 http://www.cohowinery.com/downloads 下載檔案 WineList.txt,並儲存於 C:\Documents and Settings\All Users\Documents,並指定逾時間隔為 500 毫秒。
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 服務 |
是 |
網站 |
是 |
使用權限
下列使用權限可能為必要:
使用權限 |
描述 |
---|---|
控制存取檔案和資料夾的功能。關聯的列舉型別:Unrestricted。 |
|
控制與使用者介面和剪貼簿相關的使用權限。關聯的列舉型別:AllWindows。 |
|
控制存取 HTTP 網際網路資源的權限。關聯的列舉型別:Unrestricted。 |
請參閱
工作
HOW TO:在 Visual Basic 中判斷遠端電腦是否可用