Метод My.Computer.Network.DownloadFile

Обновлен: Ноябрь 2007

Загружает указанный удаленный файл и сохраняет его в указанном расположении.

' 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, появится диалоговое окно, отображающее ход выполнения операции, при этом у пользователя есть возможность нажать в этом окне кнопку Отмена, чтобы отменить операцию. Диалоговое окно не является модальным, поэтому разрешается использование других окон в программе.

Если сервер не отвечает в течение времени, заданного параметром connectionTimeout, операция отменяется и вызывается исключение.

DownloadFile выводит сведения трассировки при включении функции трассировки сети в приложении. Дополнительные сведения см. в разделе Enabling Network Tracing.

ack30t8y.alert_note(ru-ru,VS.90).gifПримечание.

Метод DownloadFile не отправляет необязательные заголовки HTTP. Некоторые серверы могут возвращать ошибку 500 ("внутренняя ошибка сервера"), если необязательный заголовок агента пользователя отсутствует. Чтобы отправить необязательные заголовки, необходимо составить запрос с помощью класса WebClient. Дополнительные сведения см. в разделе Сетевые операции в .NET Framework в Visual Basic.

ack30t8y.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

Протокол FTP отправляет данные, включая пароли, в формате обычного текста и не может использоваться для передачи важных сведений.

Задачи

В следующей таблице содержатся примеры задач с использованием метода My.Computer.Network.DownloadFile.

To

См. разделы

Загрузка файла

Практическое руководство. Загрузка файла в Visual Basic

Пример

В этом примере выполняется загрузка файла 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")

В этом примере выполняется загрузка файла WineList.txt с веб-узла http://www.cohowinery.com/downloads с последующим сохранением в 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

Да

Библиотека веб-элементов управления

Да

Служба Windows

Да

Веб-узел

Да

Разрешения

Могут потребоваться следующие разрешения.

Разрешение

Описание

FileIOPermission

Управляет доступом к файлам и папкам. Связанное перечисление: Unrestricted.

UIPermission

Управляет разрешениями, относящимися к пользовательским интерфейсам и буферу обмена. Связанное перечисление: AllWindows.

WebPermission

Управляет правами доступа к интернет-ресурсам HTTP. Связанное перечисление: Unrestricted.

Дополнительные сведения см. в разделах Управление доступом для кода и Запрос разрешений.

См. также

Задачи

Практическое руководство. Загрузка файла в Visual Basic

Практическое руководство. Определение доступности удаленного компьютера в Visual Basic

Практическое руководство. Анализ путей к файлам в Visual Basic

Ссылки

Объект My.Computer.Network

System.Uri

System.Net.ICredentials

Network.DownloadFile