图片控制器代码如下:
@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();//记得设置ContentTyperesponse.setContentType("image/png");stream.write(data);stream.flush();}}
可以看到,这里链接不再是指定某一个图片的具体位置,而是根据id动态生成。当使用 MongoDB 的 GirdFS 来存储文件时,这样使用就很有必要了。
有了这个控制器,在页面上就可以这样请求图片:
<img src="/img/182034" />