码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-12-23 20:55:03      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

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

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

 

@RequestMapping(value="showImg")
   public void ShowImg(HttpServletRequest request,HttpServletResponse response) throws IOException{
       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后是图片的名字。

 

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

标签:

原文地址:http://www.cnblogs.com/mouseIT/p/4181068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!