2541
правка
Изменения
→Получение информации, добавление и удаление файлов на весах
</source>
==Получение информацииДобавление, добавление удаление и удаление получение файлов на весах/с весов==
{{Внимание|Раздел находится в стадии изменения и доработки!}}
Для получение информации о файлеработы с файлами, находящимся в подкаталогах, необходимо в имя файла включить путь до необходимого файла.
Вне каталога программы можно получить доступ только к каталогу {{Путь к файлу|/opt/Exchange}}, в котором содержится протокол работы, данные для импорта, отчеты и т.д.
Запрос: <source lang="json"> "command" : "RemoveFile" "command" : "AddFile" "command" : "PartDataReceived" "command" : "PartDataSended"</source> Например: для получения файла-картинки имя файла должно быть таким {{ProtocolCommand|"file-name" : "./Data/Images/goods.no.picture.png"}}. В объекте {{ProtocolCommand|data}} передается имя необходимого файла {{ProtocolCommand|file-name}} , а возвращается информация о файле: {{ProtocolCommand|file-name}} {{ProtocolCommand|file-size}} - размер файла в байтах, {{ProtocolCommand|file-datedata}} - дата/время последнего изменения данные файла файла или части файла, {{ProtocolCommand|file-md5}} - контрольная сумма файла блока в поле {{ProtocolCommand|file-data}} рассчитанная по алгоритму MD5.
При добавлении файла в объекте {{ProtocolCommand|data}} в поле {{ProtocolCommand|file-data}} передаются данные файла, а в поле {{ProtocolCommand|file-md5}} - контрольная сумма файла расчитанная по алгоритму MD5.
Далее данные кодируются в BASE-64.
При передаче/запросе больших файлов можно использовать передачу файлов частями(получение файлов более 16384 байт с весов всегда выполняется по частям). Для это При передаче по частям необходимо при передаче первого пакета в первом пакете использовать команду {{ProtocolCommand|AddFile}} и в объект данных {{ProtocolCommand|data}} добавить поля {{ProtocolCommand|"total-parts" : ''xxx''}} и {{ProtocolCommand|"part-data-no" : 0}}.
В поле {{ProtocolCommand|total-parts}} вместо ''xxx'' нужно передать общее количество частей файла.
В поле {{ProtocolCommand|part-data-no}} передается номер текущего пакет. Начиная с '''0'''.
Остальные части файла передаются с помощью команд {{ProtocolCommand|PartDataReceivedPartDataSended}}, а принимаются с помощью команд {{ProtocolCommand|PartDataSendedPartDataReceived}}.
Поле {{ProtocolCommand|"MultiPart" : 1}} используется в ответе на команду передачи по частям.
<source lang="json">
-->Первая часть
"command" : "AddFile"
"data" : {
<--
"part-data-noresponse" : 0"MultiPart", "totalresponse-partscode" : 51,
"data" : {
"MultiPartpart-data-no" : 10, "total-parts" : 5
}
-->
Последующие части "command" : "PartDataReceivedPartDataSended"
"data" : {
"file-name" : "./Data/Images/goods.no.picture.png"
"file-data" : "данные-файла"
"part-data-no" : 03
"total-parts" : 5
"use-compress" : 1
<--
"part-data-noresponse" : 0"MultiPart", "totalresponse-partscode" : 51,
"data" : {
"MultiPartpart-data-no" : 13, "total-parts" : 5
}
"command" : "PartDataSended"
"data" : {
"file-name" : "./Data/Images/goods.no.picture.png"
"file-data" : "данные-файла"
"part-data-no" : 4
"total-parts" : 5
"use-compress" : 1
}
</source>-- "response" : "MultiPart",Ответ "response-code" :1, "data" : { "part-data-no" : 4, "total-parts" : 5 }
</source>
==Выполнение команды весами==