zoukankan      html  css  js  c++  java
  • springmvc+mybatis 处理图片(二):显示图片

    数据库及配置文件等参考:springmvc+mybatis 处理图片(一):上传图片
    思路:把图片二进制信息写入到HttpServletResponse 的outputStream输出流中来显示图片。一个Controller来返回页面,另一个Controller来显示图片
    1. NewsController.java(显示除了图片之外的新闻信息)

    //获取所有新闻
    @RequestMapping(value="/htNews")
    public String htNews(Model model) {
        // 获得所有news集合
        List<News> news_list = fdyfzxService.getAllNews();
        // 将news集合添加到model当中
        model.addAttribute("news_list", news_list);//htNews.jsp中使用${requestScope.news_list }获取news列表
        // 跳转到main页面
        return "htNews";
    }

    2. NewsController.java(显示图片)

    /**获取新闻的图片
     * @Param id 新闻id
     */
     @RequestMapping(value="newsPic")
     public void newsPic(String id, HttpServletResponse response, Model model){ 
        News news = fdyfzxService.findNewsById(Integer.parseInt(id));
        byte[] newsPic = news.getNewsPic();
        try {  
            OutputStream outputStream=response.getOutputStream();  
            InputStream in=new ByteArrayInputStream(newsPic);
                
            int len = 0;
            byte[] buffer = new byte[1024];
            while((len=in.read(buffer, 0, 1024)) != -1){
                outputStream.write(buffer, 0, len);
            }
            outputStream.close();
        } catch (Exception e) {  
            e.printStackTrace();  
        } 
     }

    3. htNews.jsp(显示新闻信息)

    <img src="${ctx }/newsPic?id=${news.newsID }" height="100" width="100"/>
    <!--其他代码省略-->

    效果如图

    参考:https://blog.csdn.net/cwzhsi/article/details/43417357

  • 相关阅读:
    NTT算法小结
    FFT算法小结
    [USACO18DEC]Balance Beam
    洛谷4014分配问题
    洛谷4015运输问题
    洛谷3356火星探险问题
    python中函数详解
    python函数详解
    Python中对文件处理
    Python中的字符编码
  • 原文地址:https://www.cnblogs.com/zeroingToOne/p/8824422.html
Copyright © 2011-2022 走看看