Как отправить и сохранить изображение в структуре Flutter + Spring Boot + PostgreSQL + Heroku? - PullRequest
0 голосов
/ 15 апреля 2020

Я занимаюсь разработкой мобильного приложения с Flutter framework.

На стороне API бэкэнда я использую фреймворк Spring Boot и развертываю его в Heroku (свободный план).

На стороне базы данных я использую надстройку PostgreSQL в Heroku.

Все хорошо, прежде чем работать с изображениями. Я запутался, когда мне нужно отправить изображение на сервер и сохранить его. Какова лучшая практика этого? Я видел два варианта после некоторых поисков. Это:

Первый вариант

  1. На стороне Flutter, получите изображение от пользователя
  2. На стороне Flutter, конвертируйте изображение в BASE64 формат строки.
  3. на стороне Flutter, POST это как JSON объект для бэкенда.
  4. на стороне Spring Boot, получить строку BASE64 и сохранить это на PostgreSQL дБ.

Второй вариант

  1. На Flutter стороне, взять изображение от пользователя
  2. В Flutter сторона, преобразуйте изображение в строковый формат BASE64.
  3. на стороне Flutter, POST это как JSON объект для внутреннего интерфейса.
  4. на стороне Spring Boot, получить строку BASE64 и преобразовать ее в файл реального изображения;
  5. Со стороны Spring Boot сохранить фактический файл изображения в файловую систему хост-машины и сохранить путь к изображению в PostgreSQL дб. (Но Heroku не разрешает запись в свою файловую систему) (Даже если запись в его файловую систему возможна, при каждом новом развертывании образы исчезнут)

Если я выберу второй вариант, что следует делать Я делаю для решения проблемы сохранения изображения в файловой системе Heroku?

Какой вариант я должен использовать?

Есть еще один хороший вариант?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...