• 请不要在回答技术问题时复制粘贴 AI 生成的内容
onice
V2EX  ›  程序员

Java 和 Vue 如何处理 blob 图片?

  •  
  •   onice · Sep 20, 2019 · 4158 views
    This topic created in 2458 days ago, the information mentioned may be changed or developed.

    后端是 Java,持久层是 JPA。图片是存数据库里面的,blob 类型。

    现在有两个问题,一个是使用 SpringMVC 返回数据转换 JSON 数据的时候,blob 对应的字节数组会如何处理?

    还有一个就是用 Vue 前端,如何渲染二进制图片数据?

    我是需要单独给图片数据写个接口吗?

    大家是怎么处理的呢?谢谢大家。

    14 replies    2019-09-20 18:34:19 +08:00
    VDimos
        1
    VDimos  
       Sep 20, 2019 via Android
    得单独这一个接口,前端可以用 URL 或者 FileReader
    chairuosen
        2
    chairuosen  
       Sep 20, 2019
    JSON 不能存二进制文件,小文件需要转成 base64 的字符串,大文件还是放 url 吧。
    前端用 canvas https://stackoverflow.com/questions/38004917/how-to-render-a-blob-on-a-canvas-element
    hkitdog
        3
    hkitdog  
       Sep 20, 2019 via iPhone
    ...这数据库得多大.?
    LongMaoz
        4
    LongMaoz  
       Sep 20, 2019
    数据库存 Blob 不太好吧。。。。
    MzM2ODkx
        5
    MzM2ODkx  
       Sep 20, 2019
    以前到一个公司提供技术支持,也是用 blob 的方案(原因是防止图片泄露给外部 = =#)。前端展示可以请求设置 responseType = 'blob',返回数据 img.src = URL.createObjectURL(blob)
    0NF09LJPS51k57uH
        6
    0NF09LJPS51k57uH  
       Sep 20, 2019
    上个 oss 吧。。
    zaul
        7
    zaul  
       Sep 20, 2019
    base64 转文件对象然后上传到服务器拿到 URL 再使用
    w292614191
        8
    w292614191  
       Sep 20, 2019
    以前做的是 base64,前端直接 src:data:image/png;base64,..........
    mamahaha
        9
    mamahaha  
       Sep 20, 2019
    虽然我没学过 java,但我知道应该用 FileWriter(),这个场景用 php 一行就能解决。
    royzxq
        10
    royzxq  
       Sep 20, 2019
    数据库存 blob。。。。
    littlewing
        11
    littlewing  
       Sep 20, 2019
    @royzxq 如果是 oracle 我觉得还是没问题的,mysql 其实数据量小的时候也无所谓,没多大性能影响。但这么做不是一个好习惯
    littlewing
        12
    littlewing  
       Sep 20, 2019
    @chairuosen 其实 ISO-8859-1 编码也可以的
    littlewing
        13
    littlewing  
       Sep 20, 2019
    @chairuosen 我们通过 json 发送数据库的 blob 字段数据时就是这么做的
    honeycomb
        14
    honeycomb  
       Sep 20, 2019 via Android
    springmvc 如果把它 byte 数组处理的话,默认配置下会转成 base64 的字符串
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   885 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 20:56 · PVG 04:56 · LAX 13:56 · JFK 16:56
    ♥ Do have faith in what you're doing.