java web读取图片_java web实现img读取盘符下的图像

最近做了一个项目,用户上传图片后通过img控件显示出来。大家都知道img通过src属性就可以显示图片。如abc.jpg。这样做没有任何问题,相信很多朋友也是这么做的。

但是这样做有个问题,图片必须是放在应用下面的。而且如果做了集群的话,那么图片就分散在富多个应用下面,很不好管理。这是我们自然会想到要是将图片放在一个地方就好了,最好是在应用外面,比如c盘的img目录下面。当然这样上传图片是很好做,但是要读取图片该怎么办呢?通过src="http://127.0.0.1/a/b/abc.jpg"这种办法是无法办到的。这时我们可以通过下面的办法读取制定盘符下面的图片:

@RequestMapping(value="showImg")public void ShowImg(HttpServletRequest request,HttpServletResponse response) throwsIOException{

String imgFile= request.getParameter("imgFile"); //文件名

String path= UrlUtil.getValue("goodsImg");//这里是存放图片的文件夹地址

FileInputStream fileIs=null;try{

fileIs= new FileInputStream(path+"/"+imgFile);

}catch(Exception e) {

log.error("系统找不到图像文件:"+path+"/"+imgFile);return;

}int i=fileIs.available(); //得到文件大小

byte data[]=new byte[i];

fileIs.read(data);//读数据

response.setContentType("image/*"); //设置返回的文件类型

OutputStream outStream=response.getOutputStream(); //得到向客户端输出二进制数据的对象

outStream.write(data); //输出数据

outStream.flush();

outStream.close();

fileIs.close();

}

这里我是使用了springMVC框架。@RequestMapping(value="showImg")实际就是一个请求。

这时我们将img的src改为"http://127.0.0.1/a/showImg?imgFile=abc.jpg"就能显示图片了,也就是讲src改为一个请求地址,imgFile后是图片的名字。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值