后台获取流(前台传过来的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%>" />