Я создал контроллер для загрузки файла, он отлично работает для небольших файлов, но для больших файлов вместо загрузки он просто открывает файл в браузере (файл 2 КБ был загружен, но 12 КБ открыт). Мне известны различные варианты загрузки файла с контроллера, но я хотел бы знать, что является причиной root проблемы в моем коде.
Мой контроллер:
@GetMapping("/logs/getfile")
public void getFile(@RequestParam String logFile,HttpServletResponse response) {
try {
String directory = "C:\\Users\\user\\Documents\\";
InputStream is=new FileInputStream(new File(directory+logFile));
IOUtils.copy(is, response.getOutputStream());
response.setContentType("application/force-download");
response.addHeader("Content-Disposition", "attachment; filename="+logFile);
response.flushBuffer();
}catch(IOException ex) {
ex.printStackTrace();
}
}