有一些程序在sql server中存储图片的方式是通过二进制存储导数据库的,那么保存进去之后,怎么把图片显示出来呢?
直接上代码,servlet后台代码:
byte[] b1 = ””;//数据库查询出来的二进制
InputStream in = new ByteArrayInputStream(b1);
response.setContentType("image/jpg");
OutputStream out = response.getOutputStream();
byte[] b2 = new byte[1024];
int j = 0;
while ((j = in.read(b2)) != -1) {
out.write(b2, 0, j);
}
out.flush();
out.close();
in.close();
因为数据库存储的image类型对应Java的数据类型是byte[]型,所以这边是用byte[]型来接受图片数据,然后在jsp这边:
<img src="/servlet/showImageServlet" style="border-radius:10px;width:100px; height:50px;">