利用Servlet使用数据流在jsp页面中显示硬盘中的图片

ShowImageFromDiskServlet.java代码如下:

package cn.com.songjy.test.db;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class ShowImageFromDiskServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;

	private static final Log log = LogFactory
			.getLog(ShowImageFromDiskServlet.class);

	String imagePath;

	public ShowImageFromDiskServlet() {
	}

	@Override
	public void init(ServletConfig config) throws ServletException {

		imagePath = config.getInitParameter("imagePath");

		log.info("图片路径:" + imagePath);
	}

	@Override
	protected void service(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(
				response.getOutputStream());

		File file = new File(imagePath);

		BufferedInputStream bufferedInputStream = new BufferedInputStream(
				new FileInputStream(file));

		byte[] buffer = new byte[1024];
		
		for(int len=0;(len=bufferedInputStream.read(buffer))>0;){
			bufferedOutputStream.write(buffer, 0, len);
		}
		
		//bufferedOutputStream.flush();//关闭时会自动刷新,无需显示调用,否则必须显示调用
		bufferedOutputStream.close();
		bufferedInputStream.close();
	}

	/*private byte[] readStream(InputStream in) {
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		int data = -1;
		try {
			while ((data = in.read()) != -1) {
				baos.write(data);
			}
			return baos.toByteArray();
		} catch (IOException e) {
			e.printStackTrace();
			return null;
		}
	}*/

}


通过Servlet 将服务器硬盘图片 展示到浏览器

通过Java HTTP连接将网络图片下载到本地

在jsp页面中响应速度提高的7种方法

又一编辑神器-百度编辑器-Ueditor

教你如何调用百度编辑器ueditor的上传图片、上传文件等模块

你可能感兴趣的:(jsp,servlet,图片,数据流)