javascript - 从前端到后端的大图像,无需 base64 编码
问题描述
我们有前端作为谷歌 PWA应用程序和后端的 REST API。我们需要将我们的 PWA 用户选择的一些非常大的图像发送到后端(数十兆字节大小)。目前,PWA 用户从手机文件系统中选择图像(因此他可以在 PWA UI 的手机屏幕上看到它),然后按“上传”按钮通过 REST API 将其发送到后端。
最初为了快速实现此功能,我们通过网络以 base64 格式发送图像数据,并将其以与字符串相同的格式存储在 DB 字段中。
现在我们决定摆脱 base64 编码文件发送,并且在后端我已经实现multipart/form-data
了以二进制格式接收,正如本网站多次建议的bytea
那样,并将其存储在带有类型的 DB 字段中。出色的!
但是,出于某种原因,我们的前端开发人员告诉我,他不能简单地获取二进制图像数据,因为 PWA UI 在从文件系统加载后会将其转换为 base64 本身。UI DOM 模型<img>
以这种格式将图像保存在元素中。因此,要将数据从 UI 发送到后端,他需要事先进行 base64 解码。
我的问题是如何在没有 base64 编码的情况下在 UI 中以二进制格式显示图像,或者如何避免同时在前端保留 base64 和二进制数据(记住我们的图像大小为几十兆字节)?
解决方案
推荐阅读
- javascript - 在通用 Windows 应用程序 (UAP/UWP) 中使用 javascript 中的 window.location 时出现错误“无法重新定义不可配置的属性‘位置’”
- android - Android ImageView 找不到位图可以找到的资源
- python - Sending images by POST using python requests
- android - 生成多个 apk
- spring - Hibernate - 如何在没有主/外键关系的情况下从另一个表中获取单个值?
- node.js - 在节点中将 JSON 转换为 Excel
- python - 为语音识别库启用音频输入
- cryptography - EC P 256 x,y 坐标成公钥?
- excel - 使用 VBA 创建使用 End(xlUp) 的动态公式
- mysql - 将注释添加到用作另一个表(MySQL)中的外键的表列