Формы. Как использовать в форме поле Выбор файлов. Типы полей формы 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

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK