My.Computer.Network.DownloadFile Method
Downloads the specified remote file and saves it in the specified location.
' 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 _
)
Parameters
- address
String or Uri. Path of the file to download, including file name and host address. Required.
- destinationFileName
String. File name and path of the downloaded file. Required.
- userName
String. User name to authenticate. Default is an empty string, "".
- password
String.Password to authenticate. Default is an empty string, "".
- showUI
Boolean. Specifies whether to display the progress of the operation. Default is False.
- connectionTimeout
Int32. Timeout interval, in milliseconds. Default is 100 seconds.
- overwrite
Boolean. Specifies whether to overwrite existing files. Default is False.
- onUserCancel
UICancelOption. Specifies behavior when the user clicks Cancel or No on the dialog box shown as a result of ShowUI set to True. Default is ThrowException.
- networkCredentials
ICredentials. Credentials to be supplied.
Exceptions
The following conditions may cause an exception to be thrown:
The drive name is not valid (ArgumentException).
destinationFileName ends with a trailing slash (ArgumentException).
overwrite is set to False and the destination file already exists (IOException).
The server does not respond within the specified connectionTimeout (TimeoutException).
The authentication fails (SecurityException).
User lacks necessary permissions (SecurityException).
The request is denied by the website (WebException).
Remarks
If showUI is set to True, a dialog box appears that shows the progress of the operation; the dialog box contains a Cancel button that can be used to cancel the operation. The dialog box is not modal, and therefore does not block user input to other windows in the program.
If the server does not respond within the specified connectionTimeout, the operation is cancelled, and an exception is thrown.
DownloadFile outputs trace information when you enable network tracing in your application. For more information, see Enabling Network Tracing.
Note
The DownloadFile method does not send optional HTTP headers. Some servers may return 500 (Internal Server Error) if the optional user agent header is missing. To send optional headers, you must construct a request using the WebClient class. For more information, see Network Operations in the .NET Framework with Visual Basic.
Security Note |
---|
The FTP protocol sends information, including passwords, in plain text and should not be used for transmitting sensitive information. |
Tasks
The following table lists an example of a task involving the My.Computer.Network.DownloadFile method.
To | See |
---|---|
Download a file |
Example
This example downloads the file WineList.txt
from https://www.cohowinery.com/downloads
and saves it to C:\Documents and Settings\All Users\Documents
.
My.Computer.Network.DownloadFile _
("https://www.cohowinery.com/downloads/WineList.txt", _
"C:\Documents and Settings\All Users\Documents\WineList.txt")
This example downloads the file WineList.txt
from https://www.cohowinery.com/downloads
and saves it to C:\Documents and Settings\All Users\Documents
, specifying a timeout interval of 500 milliseconds.
My.Computer.Network.DownloadFile _
("https://www.cohowinery.com/downloads/", _
"C:\Documents and Settings\All Users\Documents\WineList.txt", _
"", "", False, 500, True)
Requirements
Namespace: Microsoft.VisualBasic.Devices
Class: Network
Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)
Availability by Project Type
Project type | Available |
---|---|
Windows Application |
Yes |
Class Library |
Yes |
Console Application |
Yes |
Windows Control Library |
Yes |
Web Control Library |
Yes |
Windows Service |
Yes |
Web Site |
Yes |
Permissions
The following permissions may be necessary:
Permission | Description |
---|---|
Controls the ability to access files and folders. Associated enumeration: Unrestricted. |
|
Controls the permissions related to user interfaces and the clipboard. Associated enumeration: AllWindows. |
|
Controls rights to access HTTP Internet resources. Associated enumeration: Unrestricted. |
For more information, see Code Access Security and Requesting Permissions.
See Also
Tasks
How to: Download a File in Visual Basic
How to: Determine if a Remote Computer is Available in Visual Basic
How to: Parse File Paths in Visual Basic
Reference
My.Computer.Network Object
System.Uri
System.Net.ICredentials
Microsoft.VisualBasic.Devices.Network.DownloadFile