• 首先图片是被我们保存到了项目,然后根据前端传过来的图片路径,我们要访问到该图片,并返回前端,显示在页面上
  • 项目图片:
/**
 * @Param:path--比如以上图片的路径是: ./images\10数据组1.jpg
 **/
public void getOutputStream(String path, HttpServletResponse response) throws IOException {
    byte[] buff = new byte[1024];
    //构建此图片的输入流
    BufferedInputStream bis = new BufferedInputStream(new FileInputStream(path));
    //构建要返回前端的输出流
    OutputStream os = response.getOutputStream(); //服务器向浏览器发送字节输出流
    //设置响应内容类型
    response.setHeader("Content-type","image/png"); 
    //读取输入流,写到输出流
    int len = 0;
    while ((len = bis.read(buff)) != -1) {
        os.write(buff, 0, len);
    }
    os.flush();
    bis.close();
}
  • response.setHeader(“Content-type”,”image/png”):不设置这个的话前端解析为text类型,会输出一片编码。虽然设置的是png,但是连gif也可以正常显示
  • 如果换成response.setContentType(image/*)的话,那不会显示图片,而是跳出一个下载窗口