spring读取指定路径图片显示到jsp页面

原创 2013年12月04日 16:03:46
package cn.fenghuait.controller;

import java.io.FileInputStream;
import java.util.Map;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;


//流读取图片

import cn.fenghuait.service.SysParameterService;


@Controller
@RequestMapping("/picture")
public class ShowPicController extends BaseController{
  private static Log logger = LogFactory.getLog(ShowPicController.class);
  @Autowired
  private SysParameterService parameterService;
 
  @RequestMapping(value="/showPic")
  public @ResponseBody Map<String,Object> showPic(HttpServletRequest request,HttpServletResponse response) throws Exception{
    try{
      String basePath = parameterService.getProblemPic();
      String str = request.getParameter("picName");
        String realName = basePath+"/"+str;
        FileInputStream fs = new FileInputStream(realName);
        int b=fs.available(); //得到文件大小   
        byte data[]=new byte[b];   
        fs.read(data);  //读数据   
        response.setContentType("image/*"); //设置返回的文件类型   
        ServletOutputStream toClient=response.getOutputStream(); //得到向客户端输出二进制数据的对象   
        toClient.write(data);  //输出数据   
        toClient.flush();
        toClient.close();
        fs.close();
    }catch(Exception e){
      e.printStackTrace();
      logger.error(e);
    }
    return null;
    
  }
}



//查询图片名称

info=problemInfoService.getProblemInfoById(problemInfo.getProblemId());
           List<String> list = new ArrayList<String>();
       if(info.getPicturePath()!=null&&!"".equals(info.getPicturePath().trim())){
       String str = info.getPicturePath();
       String[] strs = str.split(",");
       String pic = "";
       for(int i = 0;i<strs.length;i++){
          pic = strs[i];
         list.add(pic);
       }
       }
          mav.addObject("problem", info);
          mav.addObject("realName", list);


//jsp显示图片

    <c:forEach items="${realName }" var="item">
                <li><a  target="_blank"><img src="${basePath}/picture/showPic?picName=${item}" alt="民情图片" /></a></li>
            </c:forEach>

相关文章推荐

spring使用流读取指定路径图片

//流读取图片 package cn.fenghuait.controller; import java.io.FileInputStream; import java.util.Map; ...

SpringMVC从本地磁盘读取图片显示到JSP页面上

上一篇博客是从数据库中读取图片的二进制信息流然后显示到JSP页面上,下面是将图片存储到我的本地磁盘E中,然后在数据库中只存图片的名字 将磁盘的路径写到配置文件中,从配置文件中将地址读取出来,图片显示...
  • cwzhsi
  • cwzhsi
  • 2015年02月03日 13:44
  • 11388

SpringMVC从数据库中读取图片显示到JSP页面上

摸索了一个多星期,终于解决了展示瀑布流照片墙的问题,我一直在思考照片放在哪里,前后想了很多方案。最开始是想把照片放在本地(我的E盘中),而数据库中只存照片的名字,但是这种方案遇到了瓶颈,我不知道img...
  • cwzhsi
  • cwzhsi
  • 2015年02月02日 21:46
  • 17754

SpringMVC从数据库中读取图片显示到JSP页面上

摸索了一个多星期,终于解决了展示瀑布流照片墙的问题,我一直在思考照片放在哪里,前后想了很多方案。最开始是想把照片放在本地(我的E盘中),而数据库中只存照片的名字,但是这种方案遇到了瓶颈,我不知道img...

springmvc 上传图片文件和创建图片虚拟路径读取图片

1        上传图片 1.1    需求 在修改商品页面,添加上传商品图片功能。 1.2    springmvc中对多部件类型解析 在 页面form中提交enctype="multipart/...

JSP页面显示绝对路径图片问题

file.jsp代码:

JSP页面URL转发跳转不同路径图片的思考!

一个页面请求传到服务器上,如果服务器将这个请求转发到另外一个服务地址上,并且不告诉浏览器我做了跳转,这样的话,浏览器实际上访问的是另外一个服务器上的内容,而浏览器自己却是不知道的。 好比X在A商家网...

java以Blob形式存储,读取图片并在jsp页面显示图片流

      废话少说代码伺候:封装好的ImageUtil类:目的读取本地的图片文件并存入数据库,然后读出数据库中以Blob形式存储的图片保存到指定目录。package org.blog.util; ...
  • wkcgy
  • wkcgy
  • 2011年04月30日 20:33
  • 4516

一周乱弹(3-18 bootstrap模态框表单提交、jsp页面获取项目路径、bootstrap三级导航菜单、css是否显示属性)

1、bootstrap 模态框表单提交   如果按照bootstrap的模态框架构来,最后的保存要放在form外,但是提交按钮放在form之外则不能提交表单,所以要放在form之内。 ...

在jsp页面中实现图片在数据库中的读取

这里简单的介绍一下jsp页面中从数据库读取图片的三种方式:jsp/servlet/action.第一种方式:jsp+jdbc首先来看看读取图片的jsp处理页面: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring读取指定路径图片显示到jsp页面
举报原因:
原因补充:

(最多只允许输入30个字)