FTPWI.Download
Описание
Загружает файл из FTP сайта, используя FTP (file transfer protocol - протокол передачи файла).
ПараметрыURL
(строка) Полный ftp адрес к файлу, что нужно загрузить. Например, ftp://ftp.myftpsite.com/updates/myfile.txt.
Filename
(строка) Путь назначения и имя файла для загружаемого файла. Например, C:\\MyFolder\\patch.zip.
Username
(строка) Имя для входа на FTP сайт. По умолчанию для анонимного FTP это "anonymous".
Password
(строка) Пароль для доступа к FTP сайту, что идет совместно с параметром FTP Username. Для анонимного FTP, используется ваш адрес электронной почты или пароль по умолчанию "guest<".
Mode
(число) Используемый режим для сохранения файла. Выбор из:
Timeout
(число) Максимальное время в секундах, в течении которого действие будет ждать ответа после попытки соединения. Значение по умолчанию равно 20.
Примечание: Значения тайм-аута интерпретируются различными способами во время связи клиента с сервером.
В результате фактический тайм-аут, используемый соединением, может отличаться от указанного значения.
Port
(число) Порт для подключения. В большинстве случаев значение по умолчанию (порт 21) является стандартным для FTP.
PassiveMode
(логический) Использование пассивного/брандмауэр режима при загрузке файла.
Пассивный режим (также известный как "режим брандмауэра") требуется всякий раз, когда нужна передача файлов на FTP сервер или от FTP сервера из-за брандмауэра. Прохождение значения по умолчанию истина - true включает пассивный режим, а ложь - false отключает его.
Обычно, ваш компьютер делает соединение с FTP сервером, а FTP сервер отвечает открытием соединения обратно с вашим компьютером. Это возвращение соединения не будет работать если ваш компьютер не будет доступен напрямую из Интернета.
В пассивном режиме, оба соединения делаются из вашего компьютера, так что FTP серверу не нужно делать никакого соединения - он просто пассивно ждет, когда ваш компьютер сделает оба соединения с ним.
Большинство серверов поддерживают соединения в пассивном режиме, так что вообще лучше оставить этот параметр включенным.
CallbackFunction
(функция) Имя функции, которая будет вызываться всякий раз когда происходит операция загрузки. (Эту возвращающуюся функцию можно использовать для отображения хода выполнения операции загрузки, своим собственным способом.)
Примечание: Если в CallbackFunction установлено значение nil, тогда информация о протекании процесса будет отправлена во встроенное диалоговое окно состояния, предполагая что оно в настоящий момент видимое. (Можно показать или скрыть диалоговое окно состояния действиями StatusDlg.Show или StatusDlg.Hide соответственно.) Возвращающаяся функция должна иметь возможность принять следующие параметры: BytesRead(число) Количество байт, что были загружены на настоящий момент.FileSize(число) Размер файла в байтах или 0, если размер файла не может быть получен от сервера.TransferRate(число) Текущая скорость передачи в килобайтах в секунду.SecondsLeft(число) Предполагаемое число секунд, оставшееся для загрузки.SecondsLeftFormat(строка) Предполагаемое число оставшихся секунд, сформированное как строка в виде: ""MM:SS".Message(строка) Или пустая строка (""), или информационное сообщение отправленное сервером, такое как например, "Resolving host name - Разрешение имени хоста" или "Connecting to Server - Подключение к серверу".Примечание: Если этот параметр не пустая строка, это означает, что он находится в состоянии занято, или перед началом загрузки, или в конце загрузки. В этом случае все другие параметры будут проигнорированы. Возвращающая функция должна возвращать логическое значение (истина (true) или ложь (false)), показывающее следует ли продолжать загрузку файла:
Возврат
Ничего. Можно использовать Application.GetLastError для определения случился ли отказ в работе этого действия и почему.
Смотрите также: Связанные действия
ПримерыПример 1FTPWI.Download("ftp://ftp.yourdomain.com/file.exe", _TempFolder .. "\\file.exe", "FTP_USERNAME", "FTP_PASSWORD", MODE_BINARY, 20, 21, true, nil); err = Application.GetLastError(); if err ~= 0 then Dialog.Message(err, _tblErrorMessages[err]); endЗагружаем файл 'file.exe' с FTP сайта. Если происходит ошибка, показываем сообщение об ошибке. Примечание: _TempFolder это встроенная переменная, которая содержит путь к папке "Temp" в системе пользователя. Пример 2function FTPCallback(BytesRead, FileSize, TransferRate, SecondsLeft, SecondsLeftFormat, Message) Debug.Clear(); Debug.Print( "BytesRead: " .. BytesRead .. "\r\n" .. "FileSize: " .. FileSize .. "\r\n" .. "TransferRate: " .. TransferRate .. "\r\n" .. "SecondsLeft: " .. SecondsLeft .. "\r\n" .. "SecondsLeftFormat: " .. SecondsLeftFormat .. "\r\n" .. "Message: " .. Message .. "\r\n" ) return true; end Debug.ShowWindow(); FTPWI.Download("ftp://ftp.yourdomain.com/file.exe", _TempFolder .. "\\file.exe", "FTP_USERNAME", "FTP_PASSWORD", MODE_BINARY, 20, 21, true, FTPCallback); err = Application.GetLastError(); Debug.ShowWindow(false); if err ~= 0 then Dialog.Message(err, _tblErrorMessages[err]); endЗагружаем файл 'file.exe' с FTP сайта. Если происходит ошибка, показываем сообщение об ошибке. В примере приведенном выше, возвращающаяся функция 'FTPCallback' используется для отображения загрузки данных в окне отладки. Примечание: _TempFolder это встроенная переменная, которая содержит путь к папке "Temp" в системе пользователя.
Смотрите также: Связанные действия
|