Coder Social home page Coder Social logo

oscript-ftp's Introduction

FTP-Клиент для ОдноСкрипта

Установка

opm install ftp

Использование

#Использовать ftp

Соединение = Новый FtpСоединение("example.com");

Соединение.Записать("/local/file.txt", "/dir/");

Файлы = Соединение.НайтиФайлы("/dir/", "file.txt");

Файл = Файлы[0];

РазмерФайла = Файл.Размер();

Баг с НайтиФайлы() c FTP на IIS

Если функция НайтиФайлы() не отрабатывает или отрабатывает неправильно, попробуйте в настройках FTP сервера изменить значение Ftp Directory Browsing с режима MSDOS на режим UNIX.

oscript-ftp's People

Contributors

dmpas avatar k2589 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

oscript-ftp's Issues

Положить библиотеку в макет (enhancement)

Проблема:
При компиляции скрипта в exe библиотека oscript-ftp не подтягивается.

Как хотелось бы:
При компиляции библиотека автоматически затягивается.

Варианты решения:
В 1.1 в оскрипте появился механизм "макетов". Бинари, сложенные в макет, компилируются вместе с остальными скриптами в exe.
https://t.me/oscript_library/8533

Метод НайтиФайлы() вызывает Внешнее исключение

Данный код:
МассивНайденныхКаталогов = Соединение.НайтиФайлы("/");
выводит в консоле следующее сообщение:

{Модуль C:\Files\FTP.os / Ошибка в строке: 22 / Внешнее исключение (System.MissingMethodException): Метод не найден: "ScriptEngine.Machine.IRuntimeContextInstance ScriptEngine.HostedScript.Library.ArrayImpl.Constructor()".}    
    МассивНайденныхКаталогов = Соединение.НайтиФайлы("/");

Не ищет папки и файлы в подпапках

Привет
Библиотека при попытке найти каталоги методом Соединение.НайтиФайлы для записи в них файлов не находит каталоги вообще, ищет только файлы. При установке третьего параметра в Истина все равно не ищет файлы в каталогах рекурсивно.
Проверял на сайте с bitrixenv 7.3 на машине с CentOS7 (стандартный набор компонентов для виртуальной машины сайтов на 1С-Битрикс).

FTPСоединение.Записать записывает файл в корень сервера, а не в ТекущийКаталог

Соединение = ПодключитьФТП();
Сообщить(Соединение.ТекущийКаталог());
Соединение.СоздатьКаталог("backup");
Соединение.УстановитьТекущийКаталог("/backup/");
Сообщить(Соединение.ТекущийКаталог());
Соединение.Записать("C:\Files\Бэкап\03-07-2019-11-15-28.1cd", "03-07-2019-11-15-28.1cd");

// /
// /backup

А файл 03-07-2019-11-15-28.1cd помещается в /.

(Ftp на ubuntu server 18.04, Oscript ftp 1.0.3, Oscript 1.1.1.42)

Работа с SFTP&FTPS [enhancement]

Дополнить функционал библиотеки работой по протоколу SFTP, FTPS для безопасной передачи файлов.
Актуально в случае работы с внешними серверами, например при отправке файлов на VPS или загрузки файлов с VPS на локальную машину.

Метод НайтиФайлы() возвращает пустую коллекцию на экзотических фтп серверах

Проверялось следуюшим кодом, который стабильно отрабатывает в 1С 8.3.11

Соединение = Новый FtpСоединение(АдресСервера, 21, ИмяПользователя, Пароль);
Файлы = Соединение.НайтиФайлы("/","*");

Ниже пример вывода команды дир на фтп сервере роутера ASUS (в корне расположен единственный каталог "TOSHIBA_EXT"):

150 Here comes the directory listing.
drwxrwxrwx 1 0 0 8192 Aug 03 17:33 TOSHIBA_EXT
226 Directory send OK.

FTPСоединение.Переместить() неправильно обрабатывает папку назначения

Данная команда отработает:
Соединение.Переместить("/03-07-2019-11-15-28.1cd", "backup/03-07-2019-11-15-28.1cd");

А правильно написанная команда не отработает
Соединение.Переместить("/03-07-2019-11-15-28.1cd", "/backup/03-07-2019-11-15-28.1cd");

// Внешнее исключение (System.Net.WebException): Удаленный сервер возвратил ошибку: (550) Файл недоступен (например, не найден или к нему нет доступа).}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.