Формы. Как использовать в форме поле Выбор файлов. Типы полей формы files, remoteFile, fileContent

Вы можете добавить к форме поле Выбор файла (files). 

Для этого необходимо сделать следующее: 

  1. Добавить колонку Выбор файла. И реализовать хранимую процедуру dict - в ней необходимо указать код Менеджера ресурсов, который будет подгружаться (as-resourceManager).   
  2. В GetItem указать данное поле (некий Guid, который будет идентифицировать связь с файлами - именно он будет идти в data-itemID в ResourceManager). Если поле не указано, то будет генерироваться Guid автоматически. 
  3. В CheckItem и SaveItem необходимо передать поле, как и другие поля (тип nvarchar(64)) и сохранить это поле для сущности (добавьте столбец в sql-таблицу сущности, если необходимо)
  4. Создать менеджер ресурсов (в /resourceTypes) с кодом, указанным в dict процедуре для поля. 
  5. При выводе ресурса на форму уже созданной сущности в data-ItemID необходимо использовать сохраненный guid

Пример dict процедуры: 

select '' Text, 'testFormAttach' Value, 0 Selected

Примечание: 

  • Если у вас нет такого типа поля (Выбор файла), то вы можете самостоятельно добавить его в as_dataTypes (с кодом files)
  • Если менеджер файлов не выводится, проверьте, что вы задали процедуру dict.
  • Не используйте это поле на модальных формах. Дело в том, что выбор файла использует также модальное окно и новое окно для выбора файлов закроет окно вашей формы.

Загрузка файла с внешнего ресурса 

Если нам необходимо получить в SQL для обработки файл по какому-то URL, то используем тип Файл на внешнем ресурсе (remoteFile).

Это будет поле ввода, в котором указывается URL. В итоге в процедуру передается содержимое, скачанное по этому адресу.

Передача содержимого загруженного файла в процедуру SaveItem 

Это актуально, когда вам надо обработать некий XML файл, который загружает пользователь, прямо в sql

Для этого используем тип колонки формы Содержимое файла (fileContent). 

Настраиваем его также как тип files (в dict передаем тип ресурса, itemID задается как некий Guid или itemID сущности и настраиваем переданный тип ресурса). Основное отличие в том, что SaveItem, в итоге, передаем содержимое файла, а не itemID. 

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы

Нужна бесплатная консультация?
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.
Сайт использует Cookie. Правила конфиденциальности OK