关于Java InputStream与Byte[] 传入mysql数据库问题

laohng1995 发布于 2018/11/29 20:12
阅读 245
收藏 0

问题:Java 中 使用InputStream和Byte[] 存储到mysql数据库Blob类型有什么不同

依赖jar :jdbc所依赖的jar包

问题描述:今天做一个数据初始化的功能,使用jdbc链接数据库语句,由于数据中有一张图片需要存储到数据库Blob元数据中,所以开始我使用FileInputStream 获取到文件对象,并且

PreparedStatement st=connection.prepareStatement()
st。setBlob()
存储图片,存储成功,图片显示大小为38k

但是前端使用Img标签 Base64的方式无法显示图片。

最后使用了

File file=new File(picPath);
FileInputStream fileInputStream=new FileInputStream(file);
byte[] buffer=new byte[(int) file.length()];
fileInputStream.read(buffer);
st.setBytes(buffer)

这种方式,存储数据库显示20kb,使用IMG base64的形式可以显示图片。

我想请教各位:使用InputStream和Byte【】这两种方式存储到数据库里面有什么不同????????

 

 

加载中
0
烛✟孩
烛✟孩

好吧,我out了,从来就没想过往数据库里存图片之类的文件

返回顶部
顶部