`

JavaWeb--前端图片展示问题

    博客分类:
  • Java
阅读更多

前台界面图片展示

  一般图片放置在系统中,通过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;
	} 

 就可以了

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics