Компонент TNMFTP

Компонент TNMFTP Компонент TNMFTP Компонент tnmftp предназначен для обмена файлами между сервером ftp и клиентской машиной по протоколу ftp. ftp является одной из старейших и заслуженных служб интернета. Она существовала тогда, когда ещё не было www и предоставляла удобный по тем временам сервис для обмена файлами и организации различных архивов документов и программ. Сейчас получить доступ к серверу ftp можно непосредственно из браузера www, так что клиентские программы для работы с сервером ftp уже не так актуальны. Мы рассмотрим пример с этим компонентом, поскольку такая программа может потребоваться для работы с корпоративным ftp-сервером, где доступ разграничен и требуется пройти идентификацию для доступа к файловому архиву. Перед использованием компонента tnmftp для обмена файлами с удалённым компьютером вам нужно подключиться к серверу ftp. Для этого вы должны определить свойства host и port значениями, соответствующими нужному серверу ftp. Затем задайте в свойствах userid и password необходимые имя пользователя и пароль. Многие публичные серверы ftp принимают значение anonymous в качестве имени пользователя и в качестве пароля ваш e-mail или строку, напоминающую e-mail, например, user@mycomputer.com, главное, чтобы в этой строке присутствовал символ собачки "@". Таких анонимных серверов в интернет довольно много и используются они как публичные архивы программ и документов. После определения свойств userid и password вызывайте метод connect для установки связи с сервером. Компонент tnmftp имеет следующие основные свойства: currentdir ftpdirectorylist onlistitem parselist password userid vendor Специфических методов у этого компонента немного больше: allocate changedir delete docommand download downloadrestore list makedirectory mode nlist reinitialize removedir rename upload uploadappend uploadrestore uploadunique Остальные свойства и методы этого компонента наследуются. Ниже мы разберём основные возможности этого компонента и разберём перечисленные свойства и методы. Если метод компонента tnmftp завершается успешно, то генерируется событие onsuccess, в противном случае возникает событие onfailture. В обоих случаях через параметр trans_type обработчиков этих событий передаётся имя команды типа tcmdtype. Этот параметр может принимать следующие значения: cmdchangedir cmdmakedir cmddelete cmdremovedir cmdlist cmdrename cmduprestore cmddownrestore cmddownload cmdupload cmdappend cmdreinit cmdallocate cmdnlist cmddocommand cmdcurrentdir Думаю, имя метода, к которому относится данное значение определить не трудно Определение содержимого каталога на удалённом компьютере: Если вы уже подключены к серверу, вы можете получить список файлов файлов и каталогов текущего каталога при помощи метода list и обработчика события onlistitem, которое вызывается для каждого элемента списка. Вы можете обрабатывать каждый элемент каталога в обработчике этого события. или включить режим разбора строк элементов каталога, установив свойство parselist в true. В последнем случае компонент разберёт полученные данные и поместит имена, размеры файлов атрибуты, время последнего изменения в составное свойство ftpdirectorylist. Каждый элемент этого свойства представляет собой объект типа tstringlist. Для указанных элементов списка содержимого каталога эти объекты имеют имена name[i], size[i], modifdate[i], attribute[i]. Если метод list завершается успешно, то происходит событие onsuccess, в противном случае генерируется событие onfailure. Метод nlist представляет собой сокращённый вариант команды list и используется для получения только имён файлов и каталогов. Изменение текущего каталога на удалённом компьютере: Вы можете перейти на другой каталог сервера ftp, вызывая метод changedir с именем нужного вам каталога, которое передаётся через параметр dirname. В dirname можно указывать полный путь или имя каталога относительно текущего каталога. Загрузка файлов на удалённый компьютер: Для загрузки файлов в текущий каталог на удалённом компьютере используем метод upload. Метод использует 2 параметра: имя файла на локальном компьютере и имя, под которым он будет сохраняться на удалённом [localfile, remotefile]. Нужно заметить, что для выполнения данной операции у вас должны быть соответствующие права на удалённом компьютере. Обычно серверы ftp предоставляют такие права в каталоге incoming. В том случае, если на сервере уже есть файл с тем же именем, с которым вы хотите создать новый, - этот файл будет перезаписан. Избежать этого эффекта можно, если использовать метод uploadunique. Единственный параметр localfile этого метода определяет имя файла на локальном компьютере и использует его для создаваемого файла на сервере. Если на сервере файл с таким именем уже существует, то передаваемый файл будет создан с уникальным именем. Метод uploadrestore хорош тем, что он позволяет восстановить прерванный в предыдущем сеансе процесс загрузки файла с места, в котором произошёл обрыв. Последний метод из этой серии uploadappend позволяет дописывать содержимое локального файла в конец файла на сервере, если файл существует. Если на сервере такого файла нет, то файл создаётся заново. Два последних метода имеют 2 параметра localfile и remotefile. Загрузка файлов с удалённого компьютера: Перед загрузкой файлов с удалённого компьютера имеет смысл вызвать метод list и убедиться, что нужный вам файл имеется на удалённом компьютере. После этого можно вызвать метод по имени download передав ему в качестве параметров имя загружаемого файла и имя файла и каталога на локальном компьютере: параметры remotefile и localfile. Нужно заметить, что загружать файлы из любого каталога ftp-сервера обычно не разрешается. Вы можете сделать это только из каталогов, открытых для этой операции. Если на вашем компьютере уже имеется файл с таким именем он будет перезаписан. На случай обрыва связи можно использовать метод downloadrestore, который позволит продолжить загрузку с того места, на котором произошёл обрыв связи. Создание каталога на удалённом компьютере: Для выполнения этой операции у вас должны быть соответствующие права. Обычно на ftp-серверах эти права выделяются на каталог incoming. Для создания каталога достаточно вызвать метод makedirectory, передав ему в качестве параметра имя того каталога, который вы хотите создать. Удаление файла или каталога на удалённом компьютере: Файл удаляется методом delete, а для удаления каталога применяется метод removedir. Можно задавать имя файла или каталога внутри текущего каталога или указывать полный путь и имя удаляемого объекта. Мы не упомянули ещё методы allocate, docommand, mode, reinitialize и rename. Первый метод выделяет место на ftp сервере под создаваемый файл. Как правило, этого делать не требуется, но если вам придётся работать с таким сервером, который требует выделения дисковой памяти перед закачкой на него файла, то этот метод может понадобится. Метод docommand позволяет посылать команду ftp-серверу, который должен её выполнить. Имеется в виду команда операционной системы. Этот метод может вам понадобиться, если для выполнения вашей задачи методов компонента tnmftp окажется недостаточно, либо если вам попадётся сервер с нестандартными командами. Метод rename используется для переименования файла в текущем каталоге на удалённой системе. Первый параметр filename задаёт имя файла, который нужно переименовать, второй - filename2 - новое имя для заданного файла. Метод mode задаёт режим приёма/передачи файлов. Используются 3 режима. Соответственно параметр themode может принимать соответствующие значения: mode_ascii - передача текстовых данных mode_image - двоичные данные с 8-битовыми байтами mode_byte - двоичные данные с байтами переменной длины Метод reinitialize используется для восстановления прерванного соединения. После этого метода требуется зарегистрироваться, ввести имя пользователя и пароль.Источник: sources.ru

Можно ли прочитать файл с удаленного компьютера? Я сейчас качаю этот файл себе на машину и после прочтения удаляю

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...