package cn.sasa.serv;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DownloadServlet1 extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String fileName = request.getParameter("fileName");
// 指定MIME类型
response.setContentType(this.getServletContext().getMimeType(fileName));
// 告诉客户端不要直接解释,以附件形式打开(下载)
response.setHeader("Content-Disposition", "attachment;filename=" +fileName);
String realPath = this.getServletContext().getRealPath("download/" + fileName);
ServletOutputStream output = response.getOutputStream();
InputStream input = new FileInputStream(realPath);
int len = 0;
byte[] buffer = new byte[1024];
while ((len = input.read(buffer)) > 0) {
output.write(buffer, 0, len);
}
input.close();
// output.close();//response获得的output不需要手动关闭
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}