资源下载
/**
* resource下文件下载
*
* @param fName 文件位置(相对于resource)
* @param dlName 下载文件名
* @param response
*/
@ApiOperation(value = "resource目录下文件下载", notes = "resource目录下文件下载")
@ApiImplicitParams({
@ApiImplicitParam(name = "fName", value = "文件相对于resource存储路径,例如'templates/import/import-stu-template.xlsx'", required = true),
@ApiImplicitParam(name = "dlName", value = "文件下载显示名字", required = true) })
@GetMapping(value = "/res")
public void dlFromResource(String fName, String dlName, HttpServletResponse response) {
InputStream in = null;
try {
in = this.getClass().getClassLoader().getResourceAsStream(fName);
response.setContentType("application/octet-stream;charset=UTF-8");
response.addHeader("Content-Disposition", " attachment;filename=" + dlName);
int count = 0;
byte[] buffer = new byte[4096];
while ((count = in.read(buffer)) > 0) {
response.getOutputStream().write(buffer, 0, count);
}
} catch (Exception e) {
try {
// 文件下载失败
response.getWriter().write("对不起,文件下载失败。失败原因:" + e.getMessage());
// 记录异常
logger.error(e.getMessage());
} catch (Exception e1) {
// 记录异常
logger.error(e1.getMessage());
}
} finally {
try {
if (in != null) {
in.close();
in = null;
}
} catch (Exception e) {
// 记录异常
logger.error(e.getMessage());
}
}
}
做人如果没梦想,那跟咸鱼有什么分别啊?

浙公网安备 33010602011771号