Вопрос: на контроллере сохраняются файлы отчетов, которые требуется передавать на web-сервер в виде запароленных архивов. Каким образом это можно сделать?
Ответ: предположим, в контроллер есть файл Arc1.log, размещенный в директории /mnt/ufs/home/root:
16-08-2019 10-42-45.png
В проект нужно добавить библиотеку CmpSysExeс.
Для добавления файла в архив с установкой пароля требуется выполнить следующий код:
Код:
VAR
xCreateArchiveWithPassword: BOOL;
fbSysExec3: CmpSysExec.sysExecute3;
END_VAR
fbSysExec3(xExecute := xCreateArchiveWithPassword, sCommand := '/usr/bin/7za a -p123 /mnt/ufs/home/root/Arc1.7z /mnt/ufs/home/root/Arc1.log');
В приведенном выше примере кода:
- 123 - пароль на архив
- /mnt/ufs/home/root/Arc1.7z - путь к создаваемому файлу архива
- /mnt/ufs/home/root/Arc1.log - путь к файлу, добавляемого в архив
Файл архива будет создан по переднему фронту переменной xCreateArchiveWithPassword:
16-08-2019 10-46-40.png
Для распаковки архива потребуется ввести пароль:
16-08-2019 10-47-09.png