1、工具类

    //工具类package com.JavaBean;  import java.awt.image.BufferedImage;  import java.io.FileInputStream;  import java.io.IOException;  import javax.imageio.ImageIO;  import javax.servlet.ServletOutputStream;  import javax.servlet.http.HttpServletResponse;  public class ImgUtil {  public static final String JPG = "jpg";  public static final String PNG = "png";  public static final String BMP = "bmp";  public static final String GIF = "gif";  /**  * 在servlet中调用该方法, jsp页面中img标签的src指向该servlet, 则会显示图片  *   * @param response  * @param path  * @param isResponseClose  */  public static void showImage(HttpServletResponse response, String path, boolean isResponseClose) {  try {  ServletOutputStream outStream = response.getOutputStream();// 得到向客户端输出二进制数据的对象  FileInputStream fis = new FileInputStream(path); // 以byte流的方式打开文件  // 读数据  byte data[] = new byte[1000];  while (fis.read(data) > 0) {  outStream.write(data);  }  fis.close();  response.setContentType("image/*"); // 设置返回的文件类型  outStream.write(data); // 输出数据  if (isResponseClose) {  outStream.close();  }  } catch (IOException e) {  e.printStackTrace();  }  }  /**  * 在servlet中调用该方法, jsp页面中img标签的src指向该servlet, 则会显示图片  *   * @param response  * @param data  * @param isResponseClose  */  public static void showImage(HttpServletResponse response, byte[] data, boolean isResponseClose) {  try {  ServletOutputStream outStream = response.getOutputStream();// 得到向客户端输出二进制数据的对象  // 读数据  outStream.write(data);  response.setContentType("image/*"); // 设置返回的文件类型  outStream.write(data); // 输出数据  if (isResponseClose) {  outStream.close();  }  } catch (IOException e) {  e.printStackTrace();  }  }  /**  * 在servlet中调用该方法, jsp页面中img标签的src指向该servlet, 则会显示图片  *   * @param response  * @param image  * @param imgType  * @param isResponseClose  */  public static void showImage(HttpServletResponse response, BufferedImage image, String imgType, boolean isResponseClose) {  try {  ImageIO.write(image, imgType, response.getOutputStream());  } catch (IOException e) {  e.printStackTrace();  }  }  }  

2、Servlet

package com.JavBean;  import java.io.IOException;
import com.JavaBean.ImgUtil; //导入前面的工具类
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;  public class ImgServlet extends HttpServlet {  private static final long serialVersionUID = 3728441236122484282L;  public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {  doPost(request, response);  }  public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {  String imgPath = request.getParameter("imgPath");// 输出图片的类型的标志  if(null != imgPath && !"".equals(imgPath.trim())) {  ImgUtil.showImage(response, imgPath, true);    }  }
}

3、html页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">  <head>  <title>显示图片</title>  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  <meta http-equiv="description" content="this is my page">  <meta http-equiv="content-type" content="text/html; charset=UTF-8">  </head>  <body style="overflow-x: hidden;overflow-y: hidden;margin: 0;padding: 0;">  </body>
</html>
<script>
function request(paras){   var url = location.href;    var paraString = url.substring(url.indexOf("?")+1,url.length).split("&");    var paraObj = {}    for (i=0; j=paraString[i]; i++){    paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);    }    var returnValue = paraObj[paras.toLowerCase()];    if(typeof(returnValue)=="undefined"){    return "";    }else{    return returnValue;    }
}   window.οnlοad=function() {  var len=document.documentElement.clientWidth-40;  var hit=document.documentElement.clientHeight-10;  var addr=request('addr');   document.writeln("<img src='/ImgServlet?imgPath="+addr+"' border=0 width='"+len+"' height='"+hit+"'/>");
}  </script> 

Servlet从本机读取一个图片,并显示在html页面相关推荐

  1. js小学生图区_js读取本地图片并显示

    版权声明:本文为博主原创文章,未经博主允许不得转载. 根据项目需要,需要选择本地图片并显示在页面上,然后上传至服务器.因为自身刚刚接触js,所以比较生疏,碰到问题吼,幸好有强大的网络,搜索很多有用的资 ...

  2. mfc上位机网络接收图片并显示_工控机上位机软件的开发历程

    微信号 :thinger_swj微博:@新阁程序园扫码关注 上位机软件的主要功能是采集各仪器的数据,然后存储起来,并传送到环保局平台. 刚开始使用的是组态软件(用以显示流程图),然后再开发了报表软件. ...

  3. java查询blob字段出错_java获取oracle数据库blob图片字节流显示到jsp页面出错bogus marker length...

    最近在做项目时需要从oracle读取blob图片列表,显示到jsp页面上.使用以下代码实现,大部分图片显示正常,但是有些图片执行BufferedImagebis = ImageIO.read(is); ...

  4. 【转】三、QT例子-打开一个图片并且显示

    一.前言 本博客的主要目的在于对QT有进一步的了解,单纯只使用QT. 今天小例子主要是打开图片,然后显示出来,并且显示图片的路径. 二.工程建立 1.参考前面 博客一QT安装过程里面的例子, 建立一个 ...

  5. python读取gif图片并显示_Python爬虫实现获取动态gif格式搞笑图片的方法示例

    本文实例讲述了python爬虫实现获取动态gif格式搞笑图片的方法.分享给大家供大家参考,具体如下: 有时候看到一些喜欢的动图,如果一个个取保存挺麻烦,有的网站还不支持右键保存,因此使用python来 ...

  6. mfc上位机网络接收图片并显示_基于UDS on CAN的BootLoader上位机

    该上位机目前已经进行过单件.台架和实车的多轮测试验证,稳定运行,有需要的同仁可以加微信:ys15528121925. BootLoader简介 在汽车行业,bootloader用来给汽车ECU升级程序 ...

  7. 小程序真机预览图片不显示

    在微信开发者工具当中可以显示,在手机无法显示, 问题:static的图片文件路径当中不能携带中文 解决方案:去掉中文

  8. mvc 显示服务器图片,springmvc读取服务器磁盘图片,显示于前台页面

    lucene 内存索引 和文件索引 合并 IndexWriter.addIndexes(ramDirectory); http://blog.csdn.net/qq_28042463/article/ ...

  9. 微信小程序云开发读取数据库集合,显示到前端页面

    开发一个小程序时,需要使用云开发的数据库,然--这是一个很"悲惨"故事. 不知什么原因Page里的生命周期函数onload()等函数一直无效,感觉是因为用了Component的原因 ...

最新文章

  1. typescript mongodb 教程搜集
  2. CentOS 6 系统启动流程
  3. 20210819_Test
  4. 玩转 SpringBoot 2 快速搭建 | Spring Tool Suite篇
  5. [Java] 蓝桥杯ALGO-117 算法训练 友好数
  6. EasyBert,基于Pytorch的Bert应用
  7. 自定义表单-列表字段的数据源绑定
  8. mysql简单的数据提取代码_MYSQL提取非常简单的数据,chrome浏览器响应过长,如何优化?...
  9. 学会这几点,你会成为一名月薪过万的Java程序员
  10. 百度人脸识别问题整理
  11. PAT A1038 Recover the Smallest Number ——醉里挑灯看剑
  12. 【CGAL_多面体】3D多面体表面
  13. docker学习笔记(三)镜像
  14. 【二〇二〇·冬】读书笔记
  15. 基于单细胞测序数据构建细胞状态转换轨迹(cell trajectory)方法总结
  16. 雷军:我也想做高级工程师 !
  17. [Cqoi2016] 密钥破解 Java 题解
  18. iOS开发-二维码扫描和应用跳转
  19. 【笨木头Lua专栏】基础补充04:迭代器初探
  20. Android开发宇视监控播放,宇视科技视频监控(EZPlayer)

热门文章

  1. 转载:技术人员的管理思维观
  2. B站年度产品榜 | 10项行业品类全面透析Z世代消费偏好
  3. LTE射频拉远单元数字中频方案(六)
  4. CV15 轮廓检测:霍夫变换原理及应用
  5. 宇视阿宇NVR支持缓存补录吗?
  6. mysql表空间满_怎么解决数据库表空间不足
  7. was英文读音_was用英语怎么读
  8. Eureka源码深度解析(上)
  9. php验证手机号和身份证号
  10. 干了两个星期,赚了3万!同城wifi贴项目揭秘!