Реализация отправки и получения файлов на back-end при использовании ODataModel v4
Как со стороны UI5 организовать отправку и получение файлов из back-end?
В ходе разработки SAP UI5 приложений с использованием ODataModel v4 мы столкнулись с множеством проблем, решение которых плохо описаны в интернете. В данной статье хотелось бы рассказать, как со стороны UI5 организовать отправку и получение файлов из back-end.
Мы используем библиотеку SAP UI5 версии 1.120.22 и следующую ODataModel:
Для реализации отправки файлов нам необходимо сверстать компонент sap.m.uplod.UploadSet в нашем представлении:
Не будем углубляться в тонкости работы данного компонента, а сразу рассмотрим свойства касающиеся реализации работы с ODataModel v4:
- Свойство uploadUrl должно содержать ссылку на property в entity, при этом property должно быть обязательно с типом Edm.Stream. В данном примере property CONTENT в entity REQUEST_UPLOAD имеет тип Edm.Stream;
- В свойстве httpRequestMethod необходимо указывать значение “Put”, так как ODataModel v4 работает именно с таким типом запросов при загрузке файлов.
Далее перейдём к выгрузке файлов. В примере выше обратите внимание на свойство url в элементе UploadSetItem, которое привязано property HREF, в данном свойстве передается ссылка на файл для скачивания. Важно, чтобы организовать выгрузку из ODataModel v4 эта сслыка должна вести на property c типом Edm.Stream, например: “/REQUEST_DOWNLOAD(‘01’)/CONTENT”.
Надеюсь, эта статья поможет вам разобраться с тонкостями организации загрузки и выгрузки файлов при использовании модели OData v4. А о других особенностях использования ODataModel v4 вы можете узнать на мастер классе “Разработка UI5 приложений с использованием ODataModel v4”, который пройдет 25 ноября.
Приглашаем!
Сергей Галяндин,
эксперт UI5-разработчик.
Опыт в качестве Full-Stack разработчика UI5-приложений с 2018 года. На проектах выступает в роли UI5-разработчика, также имеет опыт разработки ABAP. Имеет уникальный опыт расширения и доработки UI5-приложений в модуле SAP Audit Management.