V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
pdog18
V2EX  ›  问与答

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

  •  
  •   pdog18 · 2023-01-02 10:38:07 +08:00 · 2375 次点击
    这是一个创建于 678 天前的主题,其中的信息可能已经有所发展或是发生改变。
    心里感觉有点别扭,明明是个图片却要变成一串无意义的字符串然后再进行传递....
    12 条回复    2023-01-02 14:42:36 +08:00
    Quarter
        1
    Quarter  
       2023-01-02 10:54:21 +08:00 via iPhone
    base64 我记得会增大体积的吧,如果是一些小图标、小图片之类的应该还可以吧,大了我觉得没啥必要,直接 FormData 不是挺好的么🤨
    C603H6r18Q1mSP9N
        2
    C603H6r18Q1mSP9N  
       2023-01-02 10:55:10 +08:00
    file 直接传
    wolfie
        3
    wolfie  
       2023-01-02 10:58:55 +08:00
    1. 提交,canvas 生成的图片
    2. 响应,多个小图片,比如一些验证码组件。

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

    但是有时候怎么说呢,这种比较简单,方便调试
    form-data 的方式,你还别说,如果这个后端很少和前端对接或者都是 post json 一把梭,还真不会传
    um1ng
        9
    um1ng  
       2023-01-02 13:30:07 +08:00
    base64 如果长度过长 数据库存储也会有问题
    pdog18
        10
    pdog18  
    OP
       2023-01-02 13:59:18 +08:00
    @oneisall8955 确实我在对接一些第三方 sdk 需要提交图片的话,总是要求发送 base64 的图片
    leeyuzhe
        11
    leeyuzhe  
       2023-01-02 14:24:16 +08:00   ❤️ 1
    其实主要是为了兼容 application json
    wu67
        12
    wu67  
       2023-01-02 14:42:36 +08:00
    小图可以, 有多个零碎小图的情况下, 转 base64 比发 N 个 http 图片链接要快一点. 但图片大的时候就不合适了, 毕竟 base64 也挺长的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   900 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 21:36 · PVG 05:36 · LAX 13:36 · JFK 16:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.