1.获取文件的目录
2.将文件设置为强制下载不打开
3.获取输入流和输出流实现文件的下载
@RequestMapping(params = "downExcelTemplate")
/**
* 模板文件下载
* @Description:
* @param fileName
* @param request
* @param response
* @return
*/
public void downExcelTemplate(HttpServletRequest request,
HttpServletResponse response) {
// 生成excel模板
String pathname = CreateCallBack.createExcel();
String fileName = "callBack.xls";
File file = new File(pathname);
if (file.exists()) {
response.setContentType("application/force-download");// 设置强制下载不打开
response.addHeader("Content-Disposition", "attachment;fileName="
+ fileName);// 设置文件名
byte[] buffer = new byte[1024];
FileInputStream fis = null;
BufferedInputStream bis = null;
try {
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
OutputStream os = response.getOutputStream();
int i = bis.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i = bis.read(buffer);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
bis = null;
}
}
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
fis = null;
}
}
}
}
}