后台Controller
/**
* 上传图片到session
* @param response
* @param request
*/
@RequestMapping(value = "/upImg.aj", method = RequestMethod.POST)
public void upImgSession(HttpServletResponse response, HttpServletRequest request, HttpSession httpSession) {
//获取图片
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
//根据前台name名称得到上传的文件
MultipartFile img = multipartRequest.getFile("upfile");
//定义一个数组,用于保存可上传的文件类型
List fileTypes = new ArrayList();
fileTypes.add("jpg");
fileTypes.add("jpeg");
fileTypes.add("bmp");
fileTypes.add("png");
String fileName = img.getOriginalFilename();
Long id=null;
ResultModel rm=null;
if(!(fileName==null ||"".equals(fileName))){
String extensionName = fileName.substring(fileName.lastIndexOf(".")+1);
if(fileTypes.contains(extensionName)){
//扩展名合法
try{
id = System.currentTimeMillis();
byte[] content=img.getBytes();
String extension="image/"+extensionName;
WjbDO wjbDO = new WjbDO(content,extension,id);
httpSession.setAttribute("curImg",wjbDO);
}catch (IOException e){
e.printStackTrace();
}
rm=new ResultModel(id.toString(), 1);
}
}else{
rm=new ResultModel("长传失败", 0);
}
ResponseBuilder rb = new ResponseBuilder();
try {
rb.writeJsonResponse(response,rm);
}catch (IOException e){
log.info("IOException",e);
}
}
/**
* 从session请求图片二进制流
* @param response
* @param request
*/
@RequestMapping(value = "/getCurImg.aj", method = RequestMethod.GET)
public String getCurImg(HttpServletResponse response,HttpServletRequest request,HttpSession httpSession) {
WjbDO wjbDO = (WjbDO)httpSession.getAttribute("curImg");
//设置文件格式
response.setContentType(wjbDO.getExtension());
try{
OutputStream out = response.getOutputStream();
out.write(wjbDO.getContent());
out.close();
}catch (IOException e){
log.error("输出图片流失败",e);
}
return null;
}
/**
* 确认保存后提交图片到数据库
* @param response
*/
@RequestMapping(value = "/zcdj.aj", method = RequestMethod.POST)
public void zcdjSave(HttpServletResponse response, HttpServletRequest request,HttpSession httpSession) {
//保存上传图片
WjbDO wjbDO = (WjbDO)httpSession.getAttribute("curImg");
if (wjbDO!=null){
zcModel.setImg(wjbDO.getId());
wjService.saveWj(wjbDO);
}
}