1.
controller代码:
class="java" name="code">@RequestMapping("/download.htm")
public void fileDownload(HttpServletRequest request,
HttpServletResponse response) throws IOException{
String id = request.getParameter("id");
//获取网站部署路径(通过ServletContext对象),用于确定下载文件位置,从而实现下载
//String path = servletContext.getRealPath("/");
//1.设置文件ContentType类型,这样设置,会自动判断下载文件类型
response.setContentType("multipart/form-data");
//2.设置文件头:最后一个参数是设置下载文件名(假如我们叫a.pdf)
response.setHeader("Content-Disposition", "attachment;fileName="+fileName);
OutputStream os = null;
FileInputStream is = null;
try {
//通过文件路径获得File对象
File file = new File("e:/" + "download.xls");
is = new FileInputStream(file);
//3.通过response获取ServletOutputStream对象(out)
os = response.getOutputStream();
int b = 0;
byte[] buffer = new byte[512];
while (b != -1){
b = is.read(buffer);
//4.写到输出流(out)中
os.write(buffer,0,b);
}
is.close();
os.close();
os.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
if (null != os) {
os.close();
}
if (null != is) {
is.close();
}
}
}
2.
JSP代码:
<a href="/boss/orderPay/download.htm?id=xxx">下载</a>