import org.springframework.util.FileCopyUtils;
public byte[] downloadFile(String fileName) {
byte[] res = new byte[0];
try {
File file = new File(BACKUP_FILE_PATH, fileName);
if (file.exists() && !file.isDirectory()) {
res = FileCopyUtils.copyToByteArray(file);
}
} catch (IOException e) {
logger.error(e.getMessage());
}
return res;
}
protected ResponseEntity<byte[]> downloadResponse(byte[] body, String fileName) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
.getRequestAttributes()).getRequest();
String header = request.getHeader("User-Agent").toUpperCase();
HttpStatus status = HttpStatus.CREATED;
try {
if (header.contains("MSIE") || header.contains("TRIDENT") || header.contains("EDGE")) {
fileName = URLEncoder.encode(fileName, "UTF-8");
fileName = fileName.replace("+", "%20"); // IE下载文件名空格变+号问题
status = HttpStatus.OK;
} else {
fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");
}
} catch (UnsupportedEncodingException e) {}
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment", fileName);
headers.setContentLength(body.length);
return new ResponseEntity<byte[]>(body, headers, status);
}
@RequestMapping(value = "/download-backup", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<byte[]> downloadBackupFile(@RequestParam String fileName) {
byte[] body = backupService.downloadFile(fileName);
return downloadResponse(body, fileName);
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有