Введение#
В Лексеме существуют инструменты для работы с файлами (upload, download). Для загрузки файлов в систему из внешних источников в Лексеме существует элемент управления FileUpload. Он располагается на форме и может быть привязан к свойству модели (тип свойства при этом должен быть file). Сам файл будет храниться в системной таблице lex.Files, в столбце модели будет лишь ссылка на строку в lex.Files.
Также существует класс в JS с таким же наименованием. Это дает возможность осуществить загрузку файла по необходимости.
Элемент управления FileUpload#
Элемент управления FileUpload выглядит как ссылка, при нажатии на которую открывается диалоговое окно выбора файла для закачки на сайт.
В момент загрузки он выглядит как индикатор выполнения (progress bar), отображающий процесс загрузки.
Если файл уже загружен, то выглядит как ссылка, при нажатии на которую произойдёт загрузка файла с сайта.
Свойства#
| Наименование | Тип | Описание |
|---|---|---|
| bind | Строка | свойство, к которому привязывается элемент управления |
| caption | Строка | заголовок |
| captionTextAlign | Строка | выравнивание текста заголовка элемента управления. По умолчанию значение left. Разрешенные значения: left, right |
| captionWidth | Число | ширина заголовка в колонках (для Bootstrap-верстки) |
| editorWidth | Число | ширина элемента управления в колонках (для Bootstrap-верстки) |
| fileId | Строка | уникальный идентификатор, использующийся для составления url, по которому будет загружен файл |
| hint | Строка | всплывающая подсказка, которая появляется при наведении на элемент управления |
| id | Строка | уникальный идентификатор элемента управления |
| tags | Строка | позволяет объединять элементы управления в группы, возвращает массив имен |
| visible | Bool | видимость элемента управления. По умолчанию значение true |
| width | Строка | ширина элемента управления в пикселях (px) или процентах (%) |
События#
| Наименование | Описание |
|---|---|
| valueChanged | Изменение значения |
Примеры#
Простой элемент управления:
С заголовком:
Класс FileUpload#
Данный класс даёт возможность инициировать процесс загрузки файла в Лексему из кода.
Методы#
| Наименование | Описание |
|---|---|
| choose(params) | Статический метод, предназначен для выбора файла и загрузки его в базу данных. Возвращает объект типа Deferred. Параметр params – объект, который содержит следующие свойства: multiple – флаг, разрешающий загрузку нескольких файлов. По умолчанию значение false. Разрешенные значения: true, false; deniedExtensions – список запрещенных к загрузке расширений файлов. По умолчанию пустой массив; * maxSize – максимально допустимый размер загружаемого файла в Кбайтах. |
Пример#
Метод открывает окно для загрузки файлов, результат выводит в консоль.
Результатом работы метода будет массив объектов, которые содержат свойство fileId – это идентификатор файлов в таблице lex.File.
Класс FileHelper#
Более универсальный класс, он может как сохранять файлы в систему, так и выгружать их из системы.
Методы#
| Наименование | Описание |
|---|---|
| download(ids, [params]) | Выгружает файлы из Лексемы. ids – массив идентификаторов фалов в lex.Files. params – объект с дополнительными параметрами: zip – флаг, отвечающий за то, нужно ли архивировать все файлы в один архив; fileName – новое имя выгруженного из системы файла, при этом расширение файла остается прежним. |
| upload(params) | Сохранение файлов в систему. Аналогичен FileUpload.choose. |
Примеры#
- Скачивание файла из Лексемы:
- Скачивание файла с указанием имени:
- Скачивание файлов архивом: