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

Практические советы по работе с FileMaker, типичные задачи и их решения. У вас вопрос? Пишите сюда.
Ответить
andrey volkov
Сообщения: 338
Зарегистрирован: 11 сен 2017, 13:42
Откуда: Санкт-Петербург

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

Сообщение andrey volkov » 22 сен 2019, 04:03

Попробуйте нижеследующий код. Это действует так: любое содержимое текстовой переменной сохраняется на диск в виде файла с любым расширением. Это работает в версиях 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)

andrey volkov
Сообщения: 338
Зарегистрирован: 11 сен 2017, 13:42
Откуда: Санкт-Петербург

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

Сообщение andrey volkov » 22 сен 2019, 04:07

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

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

Ответить