Страница 1 из 1

Интересная фича с Insert from URL

Добавлено: 22 сен 2019, 04:03
andrey volkov
Попробуйте нижеследующий код. Это действует так: любое содержимое текстовой переменной сохраняется на диск в виде файла с любым расширением. Это работает в версиях 16, 17, 18 и на сервере (не забываем, что серверные скрипты позволяют сохранять файлы лишь в папку Documents). Если кодировка в итоговом файле вас не интересует, то шаг encode data if we need to have utf-8 encoding можно пропустить.

#This script demonstrates how to export/save text data into file
# It works on FM 16, 17, 18


#define data we want to save
Set Variable [ $text; Value:"пусть это будет кириллица"]

#(optional) encode data if we need to have utf-8 encoding
Set Variable [ $file; Value:TextEncode ( $text ; "utf-8" ; 3 )]

#define path where to save
Set Variable [ $path; Value:"file:///C:/temp/myfile.txt" ]

# specify very simple curl option
Set Variable [ $curl_options; Value:"--upload-file $file" ]

#use Insert from URL to save data as file
Insert from URL [ $result; $path; cURL options: $curl_options ] [ Select; No dialog ]

#(optional) read $result variable to check result (returns 1 if success)

Re: Интересная фича с Insert from URL

Добавлено: 22 сен 2019, 04:07
andrey volkov
это, насколько я понимаю, недокументированная фича. Аналог трансфера файлов по ftp, только в качестве урла указывается не ftp-узел, а локальный адрес файла (вместо протокола ftp протокол file). Насколько безотказно - не знаю. Но работает, сбоев не было.

фактически это альтернатива плагину (удобно, если нужно реализовать функцию у пользователей, но не хочется заморачиваться с дистрибуцией плагина на каждый пользовательский комп)
и это очень хорошая альтернатива Export Field Contents, поскольку не требует присутствия на макете поля-контейнера, из которого экспортируем. К тому же, в отличие от Export Field Contents, здесь можно проставить кодировку нужную.