JSP显示服务器路径下的图片

来源:互联网 发布:淘宝双十一宣传片 编辑:程序博客网 时间:2024/05/01 23:36

在JSP页面中显示图片,需要用到<img src="" />标签,src可以指向图片的绝对路径和相对路径,对于静态图片的显示一般用:src="/source/image/xxx.png"。但通常情况下,我们需要显示的图片并不在项目路径下,而是存放在服务器的某个路径下,需要显示动态的图片文件。因此我们需要通过流的方式进行图片显示。

最简单的方式:1.JSP采用<img src="">标签    2.后台获取图片路径并以流的方式输出

1.JSP

<div style="float: left;margin-left: 50px"><img src= "${rootPath}/invenTask/showImage?filename=ios.png" /></div><div style="float: right;margin-right: 50px"><img src= "${rootPath}/invenTask/showImage?filename=android.png" /></div>

2.showImageByType后台类

/** * 显示二维码图片 * @param model * @param request * @return * @throws Exception  */@RequestMapping("showImage")public void showImageByType(String filename,HttpServletRequest request,HttpServletResponse response) throws Exception{InputStream inputStream = null;OutputStream writer = null;try {inputStream = new FileInputStream(new File("D:\png\"+filename));writer = response.getOutputStream();             byte[] buf = new byte[1024];             int len = 0;             while ((len = inputStream.read(buf)) != -1) {             writer.write(buf, 0, len); //写             }            inputStream.close();         } catch (Exception e) {         logger.error(e.getMessage(),e);         } finally{         try {         if(inputStream != null){         inputStream.close();         }         if(writer != null){         writer.close();         }} catch (IOException e) {logger.error(e.getMessage(),e);}         }}


0 0