后端是 Java,持久层是 JPA。图片是存数据库里面的,blob 类型。
现在有两个问题,一个是使用 SpringMVC 返回数据转换 JSON 数据的时候,blob 对应的字节数组会如何处理?
还有一个就是用 Vue 前端,如何渲染二进制图片数据?
我是需要单独给图片数据写个接口吗?
大家是怎么处理的呢?谢谢大家。
后端是 Java,持久层是 JPA。图片是存数据库里面的,blob 类型。
现在有两个问题,一个是使用 SpringMVC 返回数据转换 JSON 数据的时候,blob 对应的字节数组会如何处理?
还有一个就是用 Vue 前端,如何渲染二进制图片数据?
我是需要单独给图片数据写个接口吗?
大家是怎么处理的呢?谢谢大家。
|
VDimosSep 20, 2019 via Android
1
得单独这一个接口,前端可以用 URL 或者 FileReader
|
|
chairuosenSep 20, 2019
2
JSON 不能存二进制文件,小文件需要转成 base64 的字符串,大文件还是放 url 吧。
前端用 canvas https://stackoverflow.com/questions/38004917/how-to-render-a-blob-on-a-canvas-element |
|
hkitdogSep 20, 2019 via iPhone
3
...这数据库得多大.?
|
|
LongMaozSep 20, 2019
4
数据库存 Blob 不太好吧。。。。
|
|
MzM2ODkxSep 20, 2019
5
以前到一个公司提供技术支持,也是用 blob 的方案(原因是防止图片泄露给外部 = =#)。前端展示可以请求设置 responseType = 'blob',返回数据 img.src = URL.createObjectURL(blob)
|
|
0NF09LJPS51k57uHSep 20, 2019
6
上个 oss 吧。。
|
|
zaulSep 20, 2019
7
base64 转文件对象然后上传到服务器拿到 URL 再使用
|
|
w292614191Sep 20, 2019
8
以前做的是 base64,前端直接 src:data:image/png;base64,..........
|
|
mamahahaSep 20, 2019
9
虽然我没学过 java,但我知道应该用 FileWriter(),这个场景用 php 一行就能解决。
|
|
royzxqSep 20, 2019
10
数据库存 blob。。。。
|
|
littlewingSep 20, 2019
11
@royzxq 如果是 oracle 我觉得还是没问题的,mysql 其实数据量小的时候也无所谓,没多大性能影响。但这么做不是一个好习惯
|
|
littlewingSep 20, 2019
12
@chairuosen 其实 ISO-8859-1 编码也可以的
|
|
littlewingSep 20, 2019
13
@chairuosen 我们通过 json 发送数据库的 blob 字段数据时就是这么做的
|
|
honeycombSep 20, 2019 via Android
14
springmvc 如果把它 byte 数组处理的话,默认配置下会转成 base64 的字符串
|