控制器返回图片步骤如下:
1.设置 content-type (几遍不设置,现代浏览器一般也能正常解析相应类型)
2.读取或生成图片的 FileInputStream
3.将 FileInputStream 输出到 response.getOutputStream()。
下面例子:
有一些程序在sql server中存储图片的方式是通过二进制存储导数据库,那么保存进去之后,怎么把图片显示出来呢?(或文件系统存储图片)
直接上代码,servlet后台代码:
byte[] b1 = "";//数据库查询出来的二进制,文件系统用FileInputStream读取 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();
还可以将图片数据,保存到相对应的系统文件夹:
byte[] bytes1 = "";//文件二进制数据; ByteArrayInputStream bais = new ByteArrayInputStream(bytes1); BufferedImage bi1 = ImageIO.read(bais); File w2 = new File("c://新建文件夹", "照片名字.jpg");// 可以是jpg,png,gif格式 ImageIO.write(bi1, "jpg", w2);// 不管输出什么格式图片,此处不需改动
转: https://blog.csdn.net/weixin_44544465/article/details/90611395
参考 : https://segmentfault.com/q/1010000005180307