Работа с картинками (image)

Добрый день.
Подскажите пожалуйста, где можно найти информацию по работе с картинками(image).
Нашел стью: How to use images in web-applications | AppMaster, но параметры Image Update Properties изменились.
Необходимы следующие действия:

  1. Загрузить картинка и поставить ее в поле image, например:

запускать файловую систему и выбрать файл получается.

а вот как дальше? БП в скрине

  1. Как корректно записать данную картинку в модель (переменная типа file)
  2. Как вывести картинку из модели в list.

Если это картинка из файл аплоадера, то можно сделать максимально просто


Таким образом можно вывести напрямую, без отправки файла на бек и формирования ссылки. Главное в image settings указать Source = file

Либо же, загружать ссылкой, как по изначальному плану и в целом все также, как на вашем скрине, только добавить image setting с Source = URL

Особо понятно, зачем делать это в листе, но если так, то, как в другом топике обсуждали, element key передавать либо напрямую из триггера (если это триггер самого элемента image), либо формировать вручную с добавлением индекса элемента листа.
element key:index

Спасибо!
Получилось разобраться с image при загрузке в собственную форму + вывод в указанное поле.
Да, по Вашей схеме намного быстрее, за исключением добавил переменную для записи в базу (без этого не смог добиться записи).
загрузка image

сохранение элемента в базу

Результат

Но вопрос с выводом в list - остается, не смог разобраться, как вывести картинку:
БП

данные в базу записываются

Результат к сожалению такой:

Подскажите пожалуйста, как правильно подтянуть картинки в list

К сожалению данный метод не сработал, возможно, неверный относительный путь к файлу: /api/_files/ID/download/ ?

Когда вы сохраняете модель файла в переменную - у него нет ID (или вернее есть, но это не ID файла из базы, можно увидеть, что он совершенно другого вида). ID появляется после сохранения файла на беке.
Вам нужно отдельно сделать отправку файла на бек и только после этого сохранять модель из листа, уже с ID

Извиняюсь за мою “глупость”, возможно неверно сформулировал вопрос.
Можно еще раз последовательно…

  1. Идея заключается в загрузке пользователем своих изображений.
  2. Для загрузки изображения в диалоговое окно в ВЭБ делаю следующее:



где Source - URL


Я так понимаю, при передаже POST файл уже должен иметь некий url, но задавая /api/_files/ID/download/, получаю пустое поле в ВЭБ:

1.Подскажите, где ошибка?
2. Если Вы говорите, что через переменную сохранять некорректно (отсутствует ID), то как передать в базу модель с 2 полями: название(с этим понятно) + изображение (здесь не очень понятно, что передавать? модель из POST или URL или что-то другое)

На вид в БП все верно. Проверьте саму полученную ссылку, в отрыве от проекта, открывается ли она. Как вариант - эндпойнт получения файлов закрыт авторизацией и если сделать его открытым, то все заработает

Смог разобраться с загрузкой изображения в форму, без сохранения (файла из Uploader):


результат

Смог сделать сохранение введенных данных из формы (+файл Uploader):

К сожалению остается 2 вопроса, с которыми не могу справиться:

  1. При вызове формы редактирования, изображение не загружается.
  2. В list изображения не прогружает.

По 1 вопросу идея следующая:
Из list вызываю форму редактирования, нужно подгрузить все поля, string - подгружается, изображение - нет:


при этом имя файла из publiс.file, подгружает по ID верно:
image

БП нажатия кнопки кнопки РЕДАКТИРОВАТЬ из list:

БП загрузки модального окна:



Source - file

Подскажите, почему не подгружает изображение? Где ошибка?

Контроль авторизации отключил, тоже не работает

Пробовал удалить fail через ID, так же не работает

Возможно ли, что ошибка в работе ендпоинтов FILE, может их нужно дополнительно настраивать, для работы с ID ?

Ничего дополнительно настраивать не нужно, они изначально созданы для работы с file ID.
Но, как минимум, GET /_files/id используется неправильно. Это эндпойнт для получения метаданных файла (что собственно указано в описании на скриншоте), а не его содержимого. Поэтому изображение с его помощью никак не получить.
А соседний эндпойнт, который действительно нужен, /download/ закрыт авторизацией. Поэтому даже если правильно сформировать путь к файлу в виде ссылки, то она не откроется.
В остальном нужно смотреть логи и конкретные ошибки. Например, удаление файла. Что там конкретно не получается? Может в результате запроса есть текст ошибки, может ID файла туда вообще не передается, так как не был получен где-то ранее. Без анализа логов ничего не понять.

Можно Вас попросить ссылки на материалы этой темы, здесь я конечно сам уже не разбирусь. Помогите пожалуйста.

Я не знаю, какие еще материалы тут можно добавить. Статья содержит всю базу, остальное постарался объяснить в переписке в топике.
Тут наверное актуальнее будет больше разобраться, как тестировать свои приложения. Ставить логи, пользоваться сваггером.
В данном примере нужно по сути немногое.

  1. Проверить что ссылка на изображение есть.
  2. Открыть ее отдельно в браузере.
  3. Если не открывается, то смотреть почему (вариантов немного, либо эндпойнт закрыт авторизацией и нужно просто открыть, либо сам файл в базе пустой и ссылка есть, а содержимого нет)

Наконец разобрался, перечитал весь топик.
Просмотрел логи, авторизацию …
Ошибки были в двух местах:

  1. Вместо GET/_file/:id (как вы писали) нужно использовать GET/_file/:id/downloud/, как следствие поменять функцию с Expand file на Make file с полученными параментрами id и bytes. В Make image Setting параметр Source выбрать file:


  2. В авторизации отключил параметр: Verify Hostname

  3. Удаление после отключение того же параметра также начало работать:

  4. С выводом в list также все получилось после исправления ошибок:


Спасибо БОЛЬШОЕ за помощь и терпение!!!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.