Servlet从本地文件中读取图片,并显示在页面中
来源:互联网 发布:咸阳广电网络营业时间 编辑:程序博客网 时间:2024/05/16 10:49
文章来源: http://tntxia.iteye.com/blog/826193
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图片文件的编码apiimport javax.imageio.stream.*;import java.awt.*;import java.awt.image.BufferedImage;/** * * 显示文件的Servlet * 负责从本地文件中读取图片, * */public class ShowPic extends javax.servlet.http.HttpServlet implementsjavax.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>
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从数据库中读取图片并显示在网页上
- php中的date函数中时区问题
- 持续集成CI
- ios中关于delegate(委托)的使用心得
- swift 学习笔记之在柯里化(Currying)
- MIPS Uboot流程
- Servlet从本地文件中读取图片,并显示在页面中
- 人人都懂的编程课(Python)
- Opencv调用GPU模块
- Node.js学习--基础知识(3)--回调函数与事件
- Android进行单元测试难在哪-part4
- CentOS Compile ffmpeg libx264 not found
- 互联网产品
- addTarget:action:forControlEvents
- PB中datawindow常用技巧