Изменения

Перейти к навигации Перейти к поиску

Импорт данных по протоколу R1Sensor

2203 байта добавлено, 14:22, 22 мая 2020
Получение информации о файле, картинке, шаблоне этикетки или других файла в каталоге программы на весах, удаление и добавление файлов
</source>
==Получение информации о файле, картинке, шаблоне этикетки или других файла в каталоге программы на весах, добавление и удаление и добавление файлов== {{Внимание|Раздел находится в стадии изменения и доработки!}} 
Данная команда позволяет получить информацию о файле. Начальным путем для поиска файлов является каталог программы.
Для получение информации о файле, находящимся в подкаталогах, необходимо в имя файла включить путь до необходимого файла.
Вне каталога программы можно получить доступ только к каталогу {{ProtocolCommandПуть к файлу|/opt/Exchange}}, в котором содержится протокол работы, данные для импорта, отчеты и т.д.
Например: для получения информации о картинке имя файла должно быть таким {{ProtocolCommand|"file-name" : "./Data/Images/goods.no.picture.png"}}.
При добавлении файла в объекте {{ProtocolCommand|data}} в поле {{ProtocolCommand|file-data}} передаются данные файла, а в поле {{ProtocolCommand|file-md5}} - контрольная сумма файла расчитанная по алгоритму MD5.
Данные могут быть предварительно запакованы архиватором GZip (отключается в настройках весов). Так же флаг использования компрессии можно предать в объекте {{ProtocolCommand|"data": "use-compress"}} : ''1 '' или ''0'' или ''true''/''false''.Далее данные кодируются в BASE-64. При передаче/запросе больших файлов можно использовать передачу файлов частями. Для это необходимо при передаче первого пакета использовать команду {{ProtocolCommand|AddFile}} и в объект данных {{ProtocolCommand|data}} добавить поля {{ProtocolCommand|"total-parts" : ''xxx''}} и {{ProtocolCommand|"part-data-no" : 0}}. В поле {{ProtocolCommand|total-parts}} вместо ''xxx'' нужно передать общее количество частей файла.  В поле {{ProtocolCommand|part-data-no}} передается номер текущего пакет. Начиная с '''0'''. Остальные части файла передаются с помощью команд {{ProtocolCommand|PartDataReceived}}, а принимаются с помощью команд {{ProtocolCommand|PartDataSended}}. Поле {{ProtocolCommand|"MultiPart" : 1}} используется в ответе на команду передачи по частям. Т.е. последовательность следующая: <source lang="json">--> "command" : "AddFile" "data" : { "file-name" : "./Data/Images/goods.no.picture.png" "file-data" : "данные-файла" "part-data-no" : 0 "total-parts" : 5 "use-compress" : 1 } <-- "part-data-no" : 0 "total-parts" : 5 "data" : { "MultiPart" : 1 }
Далее данные кодируются в BASE-64...
-->
"command" : "PartDataReceived"
"data" : {
"file-name" : "./Data/Images/goods.no.picture.png"
"file-data" : "данные-файла"
"part-data-no" : 0
"total-parts" : 5
"use-compress" : 1
}
<--
"part-data-no" : 0
"total-parts" : 5
"data" : {
"MultiPart" : 1
}
</source>
Стандартные пути к файлам:
"command" : "RemoveFile"
"command" : "AddFile"
"command" : "PartDataReceived"
"command" : "PartDataSended"
"data" : {
"file-name" : "./Data/Images/goods.no.picture.png"
}
</source>
 
{{ProtocolCommand|total-parts}}
{{ProtocolCommand|part-data-no}}
 
{{ProtocolCommand|PartDataReceived}}
{{ProtocolCommand|PartDataSended}}
==Выполнение команды весами==

Навигация