关闭

JavaWeb 文件下载

146人阅读 评论(0) 收藏 举报

在WebRoot目录下创建download文件夹,放入一个文件。

package zhang.response;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;

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

public class ResponseDemo2 extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String path = this.getServletContext().getRealPath(("/download/鼠.jpg"));
		String filename = path.substring(path.lastIndexOf("\\")+1);
		response.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(path,"UTF-8"));
		InputStream in= null;
		OutputStream out = null;
		try{
			in = new FileInputStream(path);
			int len = 0;
			byte buffer[] = new byte[1024];
			out = response.getOutputStream();
			while ((len=in.read(buffer))>0) {
				out.write(buffer,0,len);
			}
		}finally{
			if (in!=null) {
				try {
					in.close();
				} catch (Exception e) {
					throw new ExceptionInInitializerError(e);
				}
			}
			if (out!=null) {
				try {
					out.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
		
	}


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

}



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21137次
    • 积分:907
    • 等级:
    • 排名:千里之外
    • 原创:71篇
    • 转载:8篇
    • 译文:0篇
    • 评论:0条
    文章分类