Большие изображения от внешнего интерфейса до внутреннего без кодировки base64 - PullRequest
0 голосов
/ 05 ноября 2019

У нас есть интерфейс как Google PWA приложение и REST API на бэкэнде. Нам нужно отправить несколько действительно больших изображений, выбранных нашими пользователями PWA, в бэкэнд (размер в десятки мегабайт). В настоящее время пользователь PWA выбирает изображение из файловой системы мобильного телефона (в результате он может видеть его на экране мобильного телефона в интерфейсе PWA) и затем нажимает кнопку «Загрузить», чтобы отправить его в бэкэнд через REST API.

Изначально, чтобы реализовать эту функцию очень быстро, мы отправили данные изображения в формате base64 через сеть и сохранили их в том же формате в поле БД, что и строка.

Теперь мы решили избавиться от отправки файла кодировки base64 и включитьбэкэнд, который я реализовал multipart/form-data, получающий в двоичном формате как , рекомендовался на этом сайте много раз и сохранял его в поле БД с типом bytea. Отлично!

Однако, по какой-то причине наш разработчик веб-интерфейса сказал мне, что он не может просто получить двоичные данные изображения, так как пользовательский интерфейс PWA переводит их в base64 после загрузки из файловой системы. Модель UI DOM сохраняет изображение в элементе <img> именно в этом формате. Поэтому для отправки данных из пользовательского интерфейса в бэкэнд ему необходимо заранее выполнить декодирование base64.

Мой вопрос заключается в том, как отображать изображения в двоичном формате в пользовательском интерфейсе без кодировки base64 или как не сохранять одновременно и base64, и двоичные данные на внешнем интерфейсе (помните, что наши изображения имеют размер в десятки мегабайт)?

...