文档背景
不太明白,照片是如何从数据库,响应到页面上的。百度之后解决了,记录一下防止遗忘
映射器
@RequestMapping(value = "/getPhoto", method = RequestMethod.GET)
public void selectList(HttpServletRequest request, HttpServletResponse response) {
String zpkey = request.getParameter("zpkey");
BizPhoto photo = bizMnVehicleReviewService.getPhoto(zpkey);
try {
BizPhotoUtil.writeImg(photo,response);
} catch (IOException e) {
e.printStackTrace();
}
}
BizPhotoUtil工具类
/**
* photo 照片实体
* response 页面响应 从页面哪个位置调用的就响应哪里 photo.getZp就是一个Blob数据
**/
public static void writeImg(BizPhoto photo, HttpServletResponse response) throws IOException {
//如果照片为null,则直接结束方法
if(photo.getZp() == null){
return ;
}
//设置响应头
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
//OutputStream 以流的形式将图片信息返回给页面
OutputStream outputStream = response.getOutputStream();
outputStream.write(photo.getZp());
outputStream.flush();//排出流中所有数据
outputStream.close();//关闭流
}
写入页面
src="../vehicleReview/getPhoto?zpkey='+row.zpkey+'"