HTTP 请求传递 image ,通过 base64 变为字符串是个好的做法吗?

2023-01-02 10:38:07 +08:00
 pdog18
心里感觉有点别扭,明明是个图片却要变成一串无意义的字符串然后再进行传递....
2264 次点击
所在节点    问与答
12 条回复
Quarter
2023-01-02 10:54:21 +08:00
base64 我记得会增大体积的吧,如果是一些小图标、小图片之类的应该还可以吧,大了我觉得没啥必要,直接 FormData 不是挺好的么🤨
shanghai1998
2023-01-02 10:55:10 +08:00
file 直接传
wolfie
2023-01-02 10:58:55 +08:00
1. 提交,canvas 生成的图片
2. 响应,多个小图片,比如一些验证码组件。

不谈场景,没意义。
NathanInMac
2023-01-02 11:08:26 +08:00
一般转成 data string 都是为了配合 html 啊,json 等格式一起传过来的。当然了这个肯定会增加体积,所以不适合大图片
duke807
2023-01-02 11:11:04 +08:00
用 msgpack 代替 json 就行了
Pastsong
2023-01-02 11:15:01 +08:00
图片大小不大或者不关键的话可以这么传
oneisall8955
2023-01-02 11:15:40 +08:00
对接第三方,有些就只接受 base64 ,例如 tiktok
iyaozhen
2023-01-02 13:20:17 +08:00
不是个好办法

但是有时候怎么说呢,这种比较简单,方便调试
form-data 的方式,你还别说,如果这个后端很少和前端对接或者都是 post json 一把梭,还真不会传
um1ng
2023-01-02 13:30:07 +08:00
base64 如果长度过长 数据库存储也会有问题
pdog18
2023-01-02 13:59:18 +08:00
@oneisall8955 确实我在对接一些第三方 sdk 需要提交图片的话,总是要求发送 base64 的图片
leeyuzhe
2023-01-02 14:24:16 +08:00
其实主要是为了兼容 application json
wu67
2023-01-02 14:42:36 +08:00
小图可以, 有多个零碎小图的情况下, 转 base64 比发 N 个 http 图片链接要快一点. 但图片大的时候就不合适了, 毕竟 base64 也挺长的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/906015

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX