Node-RED:Библиотеки/node-red/File in

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Нода «File in»

Считывает содержимое файла в виде либо строки, либо бинарного буфера.

Свойства присылаемого сообщения

  • Свойство «filename» (строка) – название файла, содержимое которого нужно прочесть. Используется, если название файла не было задано в поле «Filename» в настройках ноды

Свойства отправляемого сообщения

  • Свойство «payload» (строка/буфер) – содержимое файла (в виде строки или бинарного буфера)
  • Свойство «filename» (строка) – в этом опциональном свойстве задается название файла, содержимое которого нужно прочесть (если оно не было задано в самой ноде)
  • Свойство «error» (объект) – устаревшее свойство. Если в ноде активирован режим «Send message on error», то когда нода при прочтении файла выкинет ошибку, то отправит сообщение без свойства «payload», но со свойством «error», где будет храниться информация о произошедшей ошибке. Это устаревший режим, и по умолчанию у новых экземпляров ноды «File in» он будет выключен. Более подробно читайте ниже.

Подробное описание

Название файла должно быть в виде абсолютного пути. В противном случае путь будет задан относительно рабочей директории процесса Node-RED.

На Windows разделителей пути, возможно, нужно будет проигнорировать. Например:

\\Users\\myUser

Опционально текстовый файл можно разбить на строчки, а затем выводить в выходной порт по одному сообщению на строчку. Если это бинарный файл, его можно разбить на небольшие буферные фрагменты, размер которых зависит от ОС. Как правило, это 64к (Linux/Mac) и 41k (Windows).

Если файл будет разбит на несколько сообщений, каждое из них будет иметь свойство «msg.parts», что сделает все эти сообщения частью одной серии сообщений.

Если типом для выходных данных (в поле «Output») выбрана строка, в середине меню редактирования ноды также будет поле, в котором можно задать кодировку входных данных.

Обработка ошибок (устаревший режим)

Если ранее – до выхода Node-RED версии 0.17 – нода «File in» выдавала ошибку при чтении файла, то отправляла дальше сообщение без свойства «msg.payload», но со свойством «msg.error», содержащим информацию об ошибке. Это устаревший режим работы ноды «File in», и новые экземпляры этой ноды по умолчанию работать в этом режиме не будут. Но при необходимости его можно активировать, поставив галочку у пункта «Send message on error (legacy mode)».

Сейчас ошибки ловятся и обрабатываются с помощью ноды «Catch».

См.также

Внешние ссылки