前台界面图片展示
一般图片放置在系统中,通过http://ip:port/项目名/ImagePath就可显示该图片,如果该图片放置在服务器的其他存储路径下,这样的话Windows下直接使用file:///C:/image.jpg就可以了,但在Linux下,不行,最好写一个获取图片请求处理方法,
前台通过Img的src发送请求
var imgUrl="<c:url value='/manager/getImage.do?imagePath=tmp&imageName="+data.fileNamePath+"'/>";
$('#newForm').find("img").attr("src",imgUrl);
请求代码如下:
@RequestMapping(value = "/sceneManager/getImage.do")
public ModelAndView getImage( @RequestParam(value ="imagePath")String imagePath,
@RequestParam(value ="imageName")String imageName,
HttpServletResponse response) {
FileInputStream fis = null;
response.setContentType("image/gif");
try {
OutputStream out = response.getOutputStream();
String uploadDir = PropertyUtils.getProperty(SystemConstant.NAS_ROOT);
String Path = PropertyUtils.getProperty(SystemConstant.SCENE_LOCAL_FILE_TMP_DIR);
String documentPath = "";
if(!StringUtils.equals("tmp", imagePath)){
Path = PropertyUtils.getProperty(SystemConstant.SCENE_LOCAL_FILE_DIR);
documentPath = uploadDir + Path;
}
File file = new File(documentPath+FileUtils.fileSeparator+imageName);
fis = new FileInputStream(file);
byte[] b = new byte[fis.available()];
fis.read(b);
out.write(b);
out.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
就可以了