Я пытаюсь разработать конечную точку, которая загружает файлы с сервера. Моя конечная точка должна поддерживать прерывание (пауза, потеря соединения,…).
На данный момент я понятия не имею, как это сделать. Я просто создаю простую конечную точку get.
@GetMapping("/self/{fileName}")
public ResponseEntity<Resource> getFile(@PathVariable("fileName") String fileName,
@RequestParam(value ="checksum", required = false) String checksumParam,
@RequestHeader HttpHeaders headers,
HttpServletRequest request) throws Exception {
Resource resource;
String contentType = null;
String country = headers
.getFirst(fileStorageProperties.getHeaderCountryField())
.toLowerCase();
try {
contentType = request
.getServletContext()
.getMimeType(resource.getFile().getAbsolutePath());
} catch ( IOException ex) {
this.log.error(ex.getMessage());
}
if(contentType == null) {
contentType = "application/octet-stream";
}
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders
.set(HttpHeaders.CONTENT_DISPOSITION,"attachment; filename=\"" + resource.getFilename() + "\"");
return ResponseEntity.ok()
.contentType(MediaType.parseMediaType(contentType))
.headers(responseHeaders)
.body(resource);
}
Я хотел бы возобновить загрузку с того места, где она была остановлена, если загрузка была остановлена из-за разрыва соединения или если пользователь решил остановить его.