图片控制器代码如下:
@Controller
@RequestMapping("/")
public class WebController {
@RequestMapping(method=RequestMethod.GET,path="/img/{imgNo}")
public void getImg(HttpServletResponse response,int index) throws IOException{
//读取图片文件到一个byte[]
File file = new File("C:\\Users\\luchu\\Desktop\\QQ截图20160410192529.jpg");
OutputStream stream = response.getOutputStream();
FileInputStream reader = new FileInputStream(file);
byte[] data= new byte[ (int) file.length()];
reader.read(data);
reader.close();
//记得设置ContentType
response.setContentType("image/png");
stream.write(data);
stream.flush();
}
}
可以看到,这里链接不再是指定某一个图片的具体位置,而是根据id动态生成。当使用 MongoDB 的 GirdFS 来存储文件时,这样使用就很有必要了。
有了这个控制器,在页面上就可以这样请求图片:
<img src="/img/182034" />