JavaWeb--前端图片展示问题

前台界面图片展示

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

 就可以了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值