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

Java 和 Vue 如何处理 blob 图片?

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