Оператор WRITE
Оператор WRITE
- создание действия, записывающего файл из свойства во внешний ресурс.
Синтаксис
WRITE [CLIENT [DIALOG]] fileExpr TO urlExpr [APPEND]
Описание
Оператор WRITE
создает действие, записывающее файл из свойства, во внешний ресурс по заданному URL'у.
Поддерживаются следующие типы URL:
[file://]path_to_file
[s]ftp://username:password[;charset]@host:port[/path_to_file][?passivemode=true|false]
Предполагается, что в URL расширение файла не задается (то есть точка .
также считается частью имени файла). Это расширение определяется автоматически, в зависимости от класса записываемого файла, следующим образом:
Расширение | Класс |
---|---|
читается из переданного объекта | FILE |
json | JSONFILE |
xml | XMLFILE |
csv | CSVFILE |
xls или xlsx в зависимости от содержимого файла | EXCELFILE |
dbf | DBFFILE |
table | TABLEFILE |
html | HTMLFILE |
doc или docx в зависимости от содержимого файла | WORDFILE |
jpg | IMAGEFILE |
PDFFILE |
На клиенте текущим директорием считается директорий Downloads
внутри пользовательского директория.
Параметры
CLIENT
Ключевое слово. Если указывается, то действие будет выполнено на клиенте. По умолчанию действие выполняется на сервере.
DIALOG
Ключевое слово. Если указывается, то перед записью файла, будет показан диалог, в котором пользователь может изменить заданный URL. Можно использовать только при записи на диск (тип URL - file). По умолчанию диалог не показывается.
ulrExpr
Выражение, значением которого является URL.
fileExpr
Выражение, значением которого является файл, который который будет записан во внешний ресурс.
APPEND
Ключевое слово. Если указывается, то происходит дозапись файла из
fileExpr
в файл по указанномуurlExpr
. Для расширения csv происходит дозапись в конец файла. Для расширений xls и xlsx происходит копирование всех листов из файлаfileExpr
в файл по указанномуurlExpr
. Для остальных расширений не поддерживается. По умолчанию происходит перезапись файла.
Примеры
loadAndWrite () {
INPUT f = FILE DO {
WRITE f TO 'file:///home/user/loadedfile.csv' APPEND;
WRITE CLIENT f TO '/home/user/loadedfile.txt';
WRITE CLIENT DIALOG f TO 'loadedfile';
}
}