Перейти к основному содержимому
Версия: 6.x

Оператор 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
jsonJSONFILE
xmlXMLFILE
csvCSVFILE
xls или xlsx в зависимости от содержимого файлаEXCELFILE
dbfDBFFILE
tableTABLEFILE
htmlHTMLFILE
doc или docx в зависимости от содержимого файлаWORDFILE
jpgIMAGEFILE
pdfPDFFILE
mp4VIDEOFILE

На клиенте текущим директорием считается директорий 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';
}
}