V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
ZiLong
V2EX  ›  科技

后端通过 websocket 推送来了图片的二进制流,该如何显示在 img 标签上

  •  1
     
  •   ZiLong · Feb 9, 2018 · 4625 views
    This topic created in 2999 days ago, the information mentioned may be changed or developed.

    后端通过 websocket 推送来了图片的二进制流,该如何显示在相应 img 标签上?是用 base64 编码,但我觉得浏览器解析的时候不也得转化为二进制么,这不就有损耗了?如何才是正确的方式呢?还有,如果这张图片很大,用 websocket 直接转化为二进制推送,会不会有问题呢

    7 replies    2018-02-09 16:40:23 +08:00
    ArthurKing
        1
    ArthurKing  
       Feb 9, 2018
    推送你给一个 url,然后动态加载不行吗
    yejinmo
        2
    yejinmo  
       Feb 9, 2018
    base64 咋了。。你二进制还是需要转化啊
    bitpp
        3
    bitpp  
       Feb 9, 2018
    img 可以用 base64

    <img src=“ data:image/png;base64,fggdsSAFSDFwer...
    lzvezr
        4
    lzvezr  
       Feb 9, 2018
    img 也可以用 blob
    img.src = URL.createObjectURL(blob)
    ZiLong
        5
    ZiLong  
    OP
       Feb 9, 2018
    @ArthurKing 能直接推送内容当然更好,改 url,多一个请求应答的消耗,没必要
    ZiLong
        6
    ZiLong  
    OP
       Feb 9, 2018
    @yejinmo 不太懂,我以为二进制可以直接展示
    @fyp0414 现在还有个问题是,我每隔 50ms,修改 img 的 src 属性指向另一张 image,画面直接卡那不动,并没有切换,这有什么好的解决方案
    ZiLong
        7
    ZiLong  
    OP
       Feb 9, 2018
    @lzvezr 现在确实是这样做的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5536 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 01:24 · PVG 09:24 · LAX 18:24 · JFK 21:24
    ♥ Do have faith in what you're doing.