文件下载实例:
public String download() throws Exception{
HttpServletResponse response = this.getResponse();
System.out.println("下载准备");
//1.设置文件ContentType类型,这样设置,会自动判断下载文件类型
response.setContentType("multipart/form-data");
//2.设置文件头:最后一个参数是设置下载文件名,并用UTF-8编码
response.setHeader("Content-Disposition", "attachment;fileName="+URLEncoder.encode("月报表.xls", "UTF-8"));
ServletOutputStream out;
//通过文件路径获得File对象(假如此路径中有一个月报表.xls文件)
File file = new File("F:/月报表.xls");
try {
FileInputStream inputStream = new FileInputStream(file);
//3.通过response获取ServletOutputStream对象(out)
out = response.getOutputStream();
int b = 0;
byte[] buffer = new byte[512];
while (b != -1){
b = inputStream.read(buffer);
//4.写到输出流(out)中
out.write(buffer,0,b);
}
inputStream.close();
out.close();
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("下载完成");
return "reportpage";
}
该段代码,已经在程序中运行过,可以正常运行,实现下载。