Не получается загрузить файлы xls и doc(старый Office) файл загружается, но он пустой и выскакивает сообщение конфлик версий. С xlsx и docx все нормально. Вот код:
@GetMapping("getFileData/{id}")
public void downloadFile(@PathVariable long id,HttpServletResponse response)
{
log.info("\n\nGET: /user/getFileData/"+id);
File file = service.getFile(id);
byte[]fileBytes = null;
try(OutputStream os = response.getOutputStream()) {
if(file.getType().split("/")[0].equals("image")){
fileBytes = service.loadImageFromFile(file.getFileName());
response.reset();
response.setContentType(file.getType());
response.getOutputStream().write(fileBytes);
}else if(file.getFileName().split("\\.")[1].equals("pdf")){
fileBytes = service.loadFileFromFile(file.getFileName());
response.reset();
response.setContentType(file.getType());
response.getOutputStream().write(fileBytes);
}else if(file.getFileName().split("\\.")[1].equals("xls")){
response.setHeader("Content-disposition","attachment; filename="
+file.getFileName().split("/")[2]);
response.setContentType(file.getType());
HSSFWorkbook workbook = service.loadXLS(file.getFileName());
response.reset();
response.getOutputStream().write(workbook.getBytes());
}else if(file.getFileName().split("\\.")[1].equals("xlsx")){
response.setHeader("Content-disposition","attachment; filename="
+file.getFileName().split("/")[2]);
response.setContentType(file.getType());
XSSFWorkbook workbook = service.loadXLSX(file.getFileName());
workbook.write(os);
os.flush();
}else if(file.getFileName().split("\\.")[1].equals("doc")){
response.setHeader("Content-disposition","attachment; filename="
+file.getFileName().split("/")[2]);
response.setContentType(file.getType());
HWPFDocument document = service.loadDOC(file.getFileName());
document.write(os);
os.flush();
}else if(file.getFileName().split("\\.")[1].equals("docx")){
response.setHeader("Content-disposition","attachment; filename="
+file.getFileName().split("/")[2]);
response.setContentType(file.getType());
XWPFDocument document = service.loadDOCX(file.getFileName());
document.write(os);
os.flush();
}
} catch (Exception e) {
log.info("\n\n"+e.getMessage());
return;
}
log.info("\nReturn: OK");
}
Продвижение своими сайтами как стратегия роста и независимости