download.java

来自「java 文件上传与下载控件」· Java 代码 · 共 51 行

JAVA
51
字号
package model;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.IOException;

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

public class downLoad extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		BufferedInputStream bis = null;
		BufferedOutputStream bos = null;
		try {
			String filename = request.getParameter("filename");
			filename = new String(filename.getBytes("iso-8859-1"), "gbk");
			response.setContentType("application/x-msdownload");
			response.setHeader("Content-disposition","attachment; filename="+ new String(filename.getBytes("gb2312"),"iso-8859-1"));
			bis = new BufferedInputStream(
			new FileInputStream(getServletContext().getRealPath("C:\\uploads" + filename)));
			bos = new BufferedOutputStream(response.getOutputStream());
			byte[] buff = new byte[2048];
			int bytesRead;
			while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
				bos.write(buff, 0, bytesRead);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (bis != null)
				bis.close();
			if (bos != null)
				bos.close();
		}

	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doGet(request, response);

	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?