springmvc中从服务器拿到图片在前台显示

后台获取流(前台传过来的path如果有中文地址会乱码)

  @RequestMapping(value="/getpic", method = RequestMethod.GET,  produces = {"application/vnd.ms-excel;charset=UTF-8"})  
    public String getpic(String path, HttpServletResponse response) throws IOException {  
        response.setContentType("image/jpeg/jpg/png/gif/bmp/tiff/svg"); // 设置返回内容格式  
        path=new String(path.getBytes("ISO-8859-1"),"UTF-8");
        File file = new File(path);       //括号里参数为文件图片路径  
        if(file.exists()){   //如果文件存在  
            InputStream in = new FileInputStream(path);   //用该文件创建一个输入流  
            OutputStream os = response.getOutputStream();  //创建输出流  
            byte[] b = new byte[1024];    
            while( in.read(b)!= -1){   
            os.write(b);       
            }  
            in.close();   
            os.flush();  
            os.close();  
        }  
        return null;  
    }  

前台请求+显示流

 <img style="width:100%;" src="<%=request.getContextPath()%>/control/getpic?path=<%=string%>" />  

你可能感兴趣的:(springmvc中从服务器拿到图片在前台显示)