Оператор 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';
}
}