Перейти к содержимому

1.Чтение и запись в файл

В этом уроке вы узнаете, как считывать бинарные данные из файлы на диске и как её сохранять в файле

Практика

Для начала надо сделать несколько приготовлений.

1. Найдите на вашем сервере папку для файлов. Если в вашем файле docker-compose.yml прописана строчка типа - /local-files:/files, то это будет папка local-files в корне

2. Создайте в ней папку animals, а в той – папку small images

3. Скачайте четыре файла с картинками и загрузите через файловый менеджер в папку animals четыре файла с картинками ниже:

4. Предоставьте этим папкам необходимые разрешения

Упражнения

  1. Заведите узел Read Binary File, а в нем пропишите путь до файла bird1.jpg. Запустите его.

    Название данных не меняйте, пусть так и останется data (но можете и поменять и на что-то другое, просто такое слово используется везде по умолчанию).

    Запустите узел и посмотрите на файл, он появится на вкладке Binary, а для просмотра самого изображения нажмите View.
  2. Добавьте узел для обработки изображений Edit Image. Он будет уменьшать картинки в 5 раз. Для этого выберите операцию Resize, числа укажите 20 по высоте и ширине, а в Option выберите Percent. Запустите узел.
  3. Теперь сохраните результат в папку small images, и добавьте префикс к файлу: small_. Для этого добавьте Write Binary File и в поле File Name укажите путь до папки, префикс и имя файла. Если не уверены, загляните в подсказку.

    Запустите процесс и посмотрите в файловом менеджере, как в папке small images появился новый файл. Возможно, понадобится обновить страницу вашего файлового менеджера.
  4. Удалите этот уменьшенный файл. Теперь мы обработаем сразу пачку файлов. Поможет нам в этом узел Read Binary Files. Добавьте его под узлом Read Binary File.

    Этот новый узел соедините со стартовым и с Edit Image.

    Первый же узел, Read Binary File, напротив, отключите от Edit Image
  5. Теперь надо сказать, какие именно файлы должен прочитать новый узел. Для этого в пути используются маски файлов.

    Знак * означает любое количество любых знаков. Знак ? означает какой-то один знак.

    Составьте правило, по которому будут читаться все 4 файла разрешения только jpg. Запустите весь процесс и посмотрите, что все 4 файла обработаны и помещены в папку
  6. Удалите эти 4 уменьшенных файла. Теперь составьте правило, по которому будут обработаны только 2 наземных животных. А 2 птичьих фотографии не будут задействованы.
  7. Проверьте файлы, которые попали в папку small images

Отметьте все решенные задачи на странице шаблона упражнений Чтение и запись в файл.

Следующий урок → Файлы и JSON-данные
Предыдущий урок → Циклы и узел SplitInBatches
К курсу → Автоматизация с n8n: теория и практика
Мои курсы выходят в открытый доступ!