Servlet从本地文件中读取图片,并显示在页面中
来源:互联网 发布:如何更新mac电脑系统 编辑:程序博客网 时间:2024/05/21 09:13
- import java.io.IOException;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- import com.sun.image.codec.jpeg.*;//sun公司仅提供了jpg图片文件的编码api
- import javax.imageio.stream.*;
- import java.awt.*;
- import java.awt.image.BufferedImage;
- /**
- *
- * 显示文件的Servlet
- * 负责从本地文件中读取图片,
- *
- */
- public class ShowPic extends javax.servlet.http.HttpServlet implements
- javax.servlet.Servlet {
- private static final String GIF = "image/gif;charset=GB2312";// 设定输出的类型
- private static final String JPG = "image/jpeg;charset=GB2312";
- /*
- * (non-Java-doc)
- *
- * @see javax.servlet.http.HttpServlet#HttpServlet()
- */
- public ShowPic() {
- super();
- }
- /*
- * (non-Java-doc)
- *
- * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request,
- * HttpServletResponse response)
- */
- protected void doGet(HttpServletRequest request,
- HttpServletResponse response) throws ServletException, IOException {
- doPost(request, response);
- }
- /*
- * (non-Java-doc)
- *
- * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request,
- * HttpServletResponse response)
- */
- protected void doPost(HttpServletRequest request,
- HttpServletResponse response) throws ServletException, IOException {
- String spec = request.getParameter("spec");// 输出图片的类型的标志
- String imagePath = "D:\\temp\\1.jpg";
- response.reset();
- OutputStream output = response.getOutputStream();// 得到输出流
- if (imagePath.toLowerCase().endsWith(".jpg"))// 使用编码处理文件流的情况:
- {
- response.setContentType(JPG);// 设定输出的类型
- // 得到图片的真实路径
- // 得到图片的文件流
- InputStream imageIn = new FileInputStream(new File(imagePath));
- // 得到输入的编码器,将文件流进行jpg格式编码
- JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(imageIn);
- // 得到编码后的图片对象
- BufferedImage image = decoder.decodeAsBufferedImage();
- // 得到输出的编码器
- JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output);
- encoder.encode(image);// 对图片进行输出编码
- imageIn.close();// 关闭文件流
- }
- if (imagePath.toLowerCase().endsWith(".gif"))// 不使用编码处理文件流的情况:
- {
- response.setContentType(GIF);
- ServletContext context = getServletContext();// 得到背景对象
- InputStream imageIn = context.getResourceAsStream(imagePath);// 文件流
- BufferedInputStream bis = new BufferedInputStream(imageIn);// 输入缓冲流
- BufferedOutputStream bos = new BufferedOutputStream(output);// 输出缓冲流
- byte data[] = new byte[4096];// 缓冲字节数
- int size = 0;
- size = bis.read(data);
- while (size != -1) {
- bos.write(data, 0, size);
- size = bis.read(data);
- }
- bis.close();
- bos.flush();// 清空输出缓冲流
- bos.close();
- }
- output.close();
- }
- }
想要调用的话,你可以简单的映射一下servelt,我就将servet的名映射为
- <servlet>
- <servlet-name>ShowPic</servlet-name>
- <display-name>ShowPic</display-name>
- <description></description>
- <servlet-class>
- cn.ccb.zlgz.web.servlet.ShowPic</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>ShowPic</servlet-name>
- <url-pattern>/ShowPic</url-pattern>
- </servlet-mapping>
使用HTML调用:
- <html>
- <body>
- <img src="ShowPic?spec=2"></a>
- </body>
- </html>
这样图片便显示在htm上了
0 0
- Servlet从本地文件中读取图片,并显示在页面中
- Servlet从本地文件中读取图片,并显示在页面中
- spring mvc 从本地文件中读取图片,并显示在页面中
- Java读取本地文件(图片),并显示在JSP文件中
- 从ORACLE中读取图片并在asp.net页面中显示
- 从数据库中读取多张图片并显示在同一页面中
- JAVA读取本地文件并显示到页面中
- Servlet从本机读取一个图片,并显示在html页面
- Java读取本地文件,并显示在JSP文件中
- js 读取本地文件显示在 img中
- ASP.net 从数据库中读取html格式的数据并显示在页面中
- 从数据库中读取并生成图片的Servlet
- 从数据库中读取并生成图片的Servlet
- 浅谈如何调用JSP读取数据库中图片并显示在页面上
- asp.net 图片批量上传预览,在Silverlight页面中读取并滚动显示
- 用JSP从数据库中读取图片并显示在网页上
- 用JSP从数据库中读取图片并显示在网页上
- 用JSP从数据库中读取图片并显示在网页上
- servlet读取数据库图片文件
- 新计划CCDH。。。
- Servlet实现将图片写入到网页和实现图片下载的功能
- Java Servlet 向客户端返回一个图像的方法(静态)
- 金妍儿身价超过顶级艺人 笑言索契卫冕压力小
- Servlet从本地文件中读取图片,并显示在页面中
- [豪门动态]拜仁800万年薪续约罗本 C罗禁赛罚3场
- mac系统下安装python网页分析库beautifulsoup4
- 罚下C罗主裁被禁哨1月 本季不会再吹皇马比赛
- 本地文件转为图片流返回
- java实现二维码的生成和解析
- 今年“双11”电商促销期间快件量预计将突破5亿件
- 日本法院判决涉嫌违法捕捞珊瑚的中国男子无罪
- 赤背寡妇毒蜘蛛入侵日本东京 或已开始繁殖