Компонент tnmftp закладка fastnet

Компонент TNMFTP [закладка FastNet]

Компонент TNMFTP призначений для обміну файлами між сервером FTP і клієнтської машиною за протоколом FTP. FTP є однією з найстаріших і заслужених служб інтернету.

Вона існувала тоді, коли ще не було WWW і надавала зручний на ті часи сервіс для обміну файлами і організації різних архівів документів і програм. Зараз отримати доступ до сервера FTP можна безпосередньо з браузера WWW, так що клієнтські програми для роботи з сервером FTP вже не так актуальні. Ми розглянемо приклад з цим компонентом, оскільки така програма може знадобитися для роботи з корпоративним FTP-сервером, де доступ розмежований і потрібно пройти ідентифікацію для доступу до файлового архіву.

Компонент TNMFTP має наступні основні властивості:

Думаю, ім'я методу, до якого відноситься дане значення визначити не важко.

Визначення вмісту каталогу на віддаленому комп'ютері:

Якщо ви вже підключені до сервера, ви можете отримати список файлів файлів і каталогів поточного каталогу за допомогою методу 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 використовується для відновлення перерваного з'єднання. Після цього методу потрібно зареєструватися, ввести ім'я користувача і пароль.

Схожі статті