У нас есть интерфейс как Google PWA приложение и REST API на бэкэнде. Нам нужно отправить несколько действительно больших изображений, выбранных нашими пользователями PWA, в бэкэнд (размер в десятки мегабайт). В настоящее время пользователь PWA выбирает изображение из файловой системы мобильного телефона (в результате он может видеть его на экране мобильного телефона в интерфейсе PWA) и затем нажимает кнопку «Загрузить», чтобы отправить его в бэкэнд через REST API.
Изначально, чтобы реализовать эту функцию очень быстро, мы отправили данные изображения в формате base64 через сеть и сохранили их в том же формате в поле БД, что и строка.
Теперь мы решили избавиться от отправки файла кодировки base64 и включитьбэкэнд, который я реализовал multipart/form-data
, получающий в двоичном формате как , рекомендовался на этом сайте много раз и сохранял его в поле БД с типом bytea
. Отлично!
Однако, по какой-то причине наш разработчик веб-интерфейса сказал мне, что он не может просто получить двоичные данные изображения, так как пользовательский интерфейс PWA переводит их в base64 после загрузки из файловой системы. Модель UI DOM сохраняет изображение в элементе <img>
именно в этом формате. Поэтому для отправки данных из пользовательского интерфейса в бэкэнд ему необходимо заранее выполнить декодирование base64.
Мой вопрос заключается в том, как отображать изображения в двоичном формате в пользовательском интерфейсе без кодировки base64 или как не сохранять одновременно и base64, и двоичные данные на внешнем интерфейсе (помните, что наши изображения имеют размер в десятки мегабайт)?