← Назад до блогу

Бінарні дані в n8n: завантаження, збереження, надсилання та перевірка файлу

Потренуйтеся передавати бінарні дані в n8n через Dropbox: завантажте зразок, збережіть його в Edit Fields, надішліть і перевірте вміст.

Захищений документ переміщується до відповідної копії для перевірки в робочому процесі n8n із бінарними даними.

Перевірено за наведеними джерелами .

Підготуйте безпечний зразок у Dropbox

У цьому посібнику бінарні дані n8n проходять через чотири вузли: HTTP Request для завантаження, Edit Fields, HTTP Request для надсилання та HTTP Request для перевірочного завантаження. Мета — отримати надісланий документ і порівняти його вміст з оригіналом. Для запропонованої вправи потрібні робоче середовище n8n, обліковий запис Dropbox і наявний текстовий файл із безпечним вмістом.

У налаштуваннях застосунків Dropbox створіть застосунок Scoped access із доступом App folder. Увімкніть files.content.read і files.content.write, застосуйте зміни дозволів і згенеруйте короткостроковий тестовий токен. Dropbox рекомендує OAuth для застосунків у робочому середовищі; його реалізація виходить за межі цього посібника.

У нашому прикладі передбачається, що зразок уже доступний цьому застосунку за шляхом /sample.txt. Виділіть /sample-copy.txt як окремий шлях призначення. Це покроковий посібник на основі документації, а не звіт про власне тестування. В офіційній документації n8n, використаній для цих інструкцій, не зазначено версію чи тарифний план n8n.

Sources: Quick Start, Download, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/README.md at main · n8n-io/n8n-docs · GitHub, Edit Fields (Set) | Nodes | n8n Docs, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.set.md at main · n8n-io/n8n-docs · GitHub, HTTP Request | Nodes | n8n Docs

1. Завантажте бінарні дані n8n у document

Додайте вузол HTTP Request. Для обох операцій Dropbox у цьому посібнику використовуйте HTTPS із хостом content.dropboxapi.com і шляхом кінцевої точки, зазначеним нижче. Налаштуйте завантаження в такому порядку.

  1. Установіть Method у POST, а шлях кінцевої точки — /2/files/download.
  2. Додайте заголовок Authorization зі значенням Bearer, після якого йдуть пробіл і ваш тестовий токен.
  3. Додайте заголовок Dropbox-API-Arg зі значенням {"path":"/sample.txt"}.
  4. Установіть Response Format у File, а Put Output in Field — у document.
  5. Виконайте вузол і перевірте його бінарні вихідні дані, перш ніж продовжувати.

Очікуваний результат — файл у бінарній властивості document. Ця властивість відокремлена від полів JSON та імені файлу sample.txt. Сам по собі режим відповіді File не підтверджує, що відповідь містить потрібний вам документ.

Sources: Download, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/README.md at main · n8n-io/n8n-docs · GitHub, skills/skills/n8n-binary-and-data-official/references/BINARY_BASICS.md at main · n8n-io/skills · GitHub

2. Збережіть бінарні дані n8n із попереднього вузла

Рука змінює блакитний папірець між двома лотками, поки складений документ у рожевому чохлі переходить між ними.
Окремі паперові об’єкти ілюструють редагування метаданих JSON зі збереженням бінарного файлу.

Під’єднайте Edit Fields до вузла завантаження. За допомогою Manual Mapping додайте запропоноване поле JSON exerciseLabel зі значенням dropbox-round-trip. Увімкніть Include Binary Data, щоб вхідний файл потрапив у вихідні дані, потім виконайте вузол і перевірте, що document усе ще присутня.

Для роботи з бінарними даними n8n із попереднього вузла наступному вузлу потрібне ім’я бінарної властивості, яку створив попередній: document. На нашу думку, перевірку файлу на цьому переході варто зробити командною звичкою, адже вона чітко визначає, які вхідні дані отримає наступний крок.

Sources: skills/skills/n8n-binary-and-data-official/references/BINARY_BASICS.md at main · n8n-io/skills · GitHub, Edit Fields (Set) | Nodes | n8n Docs, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.set.md at main · n8n-io/n8n-docs · GitHub

3. Надішліть файл і завантажте його з місця призначення

Оригінальний зразок і документ, завантажений із Dropbox, лежать поруч для порівняння вмісту.
Однакові візерунки на папері ілюструють запропоноване порівняння оригінального й отриманого вмісту.

Під’єднайте ще один вузол HTTP Request після Edit Fields. Операція надсилання Dropbox приймає безпосередній вміст файлу як тіло запиту. Виконайте ці кроки, щоб надіслати бінарні дані n8n і завантажити файл із місця призначення.

  1. У вузлі надсилання встановіть Method у POST, а шлях кінцевої точки — /2/files/upload на тому самому хості Dropbox.
  2. Додайте заголовок Authorization із токеном Bearer і встановіть Content-Type у application/octet-stream.
  3. Установіть Dropbox-API-Arg у {"path":"/sample-copy.txt","mode":"add"}.
  4. Увімкніть Send Body, виберіть для Body Content Type значення n8n Binary File і встановіть Input Data Field Name у document.
  5. Виконайте надсилання та перевірте повернуті метадані файлу.
  6. Під’єднайте перевірочний вузол HTTP Request. Повторіть налаштування завантаження, змінивши Dropbox-API-Arg на {"path":"/sample-copy.txt"}, зі значенням File для Response Format і вихідним полем document.
  7. Виконайте перевірочне завантаження та перегляньте фактичний вміст отриманого документа.

Для перевірки успіху радимо порівняти отриманий текст з оригінальним зразком, зокрема пунктуацію та переноси рядків. Також перевірте метадані надісланого файлу щодо місця призначення, але не вважайте підтвердження надсилання доказом однаковості вмісту. На нашу думку, повний цикл передавання завершено лише після перевірки отриманого вмісту.

Sources: Quick Start, Download, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/README.md at main · n8n-io/n8n-docs · GitHub, HTTP Request | Nodes | n8n Docs

4. Усуньте проблеми з передаванням файлу

Якщо повний цикл передавання не вдається виконати, пройдіть запропоновану послідовність діагностики, щоб знайти, де файл уперше зникає або де запит відрізняється від потрібної конфігурації. Останній рядок стосується адаптації вправи до іншого одержувача.

Запропонована послідовність діагностики невдалого передавання файлу
Точка перевіркиЩо перевіритиНаступна дія
1. Вихідні дані завантаженняЧи присутня document перед Edit Fields?Якщо ні, перегляньте налаштування завантаження в кроці 1.
2. Вихідні дані Edit FieldsЧи зникає document між входом і виходом?Якщо так, перегляньте налаштування збереження в кроці 2.
3. Запит надсиланняЯкщо document присутня, у чому відрізняється запит?Порівняйте вхідну властивість, формат тіла та заголовки з кроком 3.
Іншому одержувачу потрібен multipartІм’я поля форми одержувачаВикористовуйте Form-Data з параметром n8n Binary File і відповідною вхідною властивістю.

Sources: Quick Start, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/README.md at main · n8n-io/n8n-docs · GitHub, skills/skills/n8n-binary-and-data-official/references/BINARY_BASICS.md at main · n8n-io/skills · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.set.md at main · n8n-io/n8n-docs · GitHub, HTTP Request | Nodes | n8n Docs, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/common-issues.md at main · n8n-io/n8n-docs · GitHub

5. Визначте заходи контролю перед використанням документів компанії

Перш ніж замінити зразок документами компанії, узгодьте наведений нижче авторський контрольний список готовності. Це запропоновані рішення; цей посібник не реалізує автоматичного забезпечення їх виконання чи правил зберігання для конкретного розгортання.

Для n8n на власному хостингу офіційна документація з масштабування зазначає, що бінарні дані за замовчуванням зберігаються в пам’яті, а великі файли можуть спричиняти аварійне завершення роботи. Вона рекомендує N8N_DEFAULT_BINARY_DATA_MODE=filesystem поза режимом черги та database для режиму черги; режим filesystem не підтримується в режимі черги. Ці рекомендації щодо розгортання не визначають універсальної безпечної межі розміру файлу й не є кроком налаштування Cloud.

Sources: n8n-docs/docs/deploy/host-n8n/configure-n8n/scaling/handle-binary-data.md at main · n8n-io/n8n-docs · GitHub

Спробуйте на практиці

Практичні завдання з n8n

Оберіть завдання й створіть робочий воркфлоу у власному середовищі n8n – до кожного завдання є п’ять поступових підказок.

Спробувати практичне завдання

Для вашої команди

Програми навчання n8n для однієї команди чи відділу – на вашому власному екземплярі n8n, з вашими інструментами й даними.

Навчання для вашої команди

Оцінка навичок n8n

Безкоштовний тест приблизно на 20 хвилин, англійською: 30 запитань у 10 напрямах і рівень від початківця до експерта. На AI Adoption Score – іншому проєкті автора цього сайту.

Дізнатися свій рівень n8n