Я могу прочитать файл журнала с сервера и успешно загрузить его через API Spring rest, теперь мой запрос заключается в том, что прямо сейчас размер моего входного файла на сервере составляет 500 МБ, но в любом случае, если мой файл достигает 1 ГБ, поэтому в этом случае, какие изменения мне нужно сделать в приведенном ниже фрагменте кода для повышения производительности
@GetMapping("/download/{filename}")
public ResponseEntity<Resource> download(@RequestParam String filename) throws IOException {
File file = new File(SERVER_LOCATION + File.separator + filename + EXTENSION);
HttpHeaders header = new HttpHeaders();
header.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + filename + EXTENSION);
header.add("Cache-Control", "no-cache, no-store, must-revalidate");
header.add("Pragma", "no-cache");
header.add("Expires", "0");
Path path = get(file.getAbsolutePath());
ByteArrayResource resource = new ByteArrayResource(Files.readAllBytes(path));
final ResponseEntity<Resource> resourceResponseEntity = ResponseEntity.ok()
.headers(header)
.contentLength(file.length())
.contentType(MediaType.parseMediaType("application/octet-stream"))
.body(resource);
return resourceResponseEntity;
}