public void downloadXXXExcel(HttpServletResponse response) {
// 获取文件资源
ClassPathResource classPathResource = new ClassPathResource("static" + File.separator + "XXX.xlsx");
// 定义输出流
OutputStream os = null;
// 定义输入流
BufferedInputStream bis = null;
try {
// 获取输入流
bis = new BufferedInputStream(classPathResource.getInputStream());
// 设置响应头
String fileName = URLEncoder.encode("XXX", "UTF-8");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8");
// 获取响应流
os = response.getOutputStream();
// 输出文件
byte[] bytes = new byte[1024];
int len;
while ((len = bis.read(bytes)) != -1) {
os.write(bytes, 0, len);
}
} catch (IOException e) {
log.error(ResultCode.IO_FAIL.message(), e);
} finally {
// 关闭流
if (os != null) {
try {
os.close();
} catch (IOException e) {
log.error(ResultCode.IO_FAIL.message(), e);
}
}
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
log.error(ResultCode.IO_FAIL.message(), e);
}
}
}
}
本地资源下载
于 2023-03-22 19:48:30 首次发布