Skip to end of metadata
Go to start of metadata

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

На клиенте текущим директорием считается директорий Downloads внутри пользовательского директория.

Параметры

CLIENT

Ключевое слово. Если указывается, то действие будет выполнено на клиенте. По умолчанию действие выполняется на сервере.

DIALOG

Ключевое слово. Если указывается, то перед записью файла, будет показан диалог, в котором пользователь может изменить заданный URL. Можно использовать только при записи на диск (тип URL - file) . По умолчанию диалог не показывается. 

ulrExpr

Выражение, значением которого является URL.

fileExpr

Выражение, значением которого является файл, который который будет записан во внешний ресурс. 

APPEND

Ключевое слово. Если указывается, то происходит дозапись файла из fileExpr в файл по указанному urlExpr . Для расширения csv происходит дозапись в конец файла. Для расширений xls и xlsx происходит копирование всех листов из файла fileExpr в файл по указанному urlExpr. Для остальных расширений не поддерживается. По умолчанию происходит перезапись файла.


Примеры

1
2
3
4
5
6
7
 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';
    }
}

  • No labels