Я создал приложение Java для хранения и загрузки больших файлов, поэтому, когда клиент загружает файл, он будет передан на сервер, который отправит его в облачную службу хранения (хранилище озера данных Azure), однако, когда пользователь пытаетсяПри загрузке файла запрос отправляется на сервер, затем сервер отправляет запрос в службу хранения, и передача файла начинается между сервером и службой хранения, в то время как клиент будет ожидать передачи между этими двумя серверами.конец, и это может занять много времени (шаг 3 на изображении ниже), мне интересно, есть ли способ загрузить то, что уже было собрано из лазури в то же время?
Вот мой код:
@RequestMapping(value = "download", method = RequestMethod.GET, produces = "application/zip")
public ResponseEntity < Resource > download(@PathVariable String path) throws IOException {
InputStream stream = azureDataLakeStoreService.getFile(path);
InputStreamResource resource = new InputStreamResource(stream);
return ResponseEntity.ok()
.header(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, HttpHeaders.CONTENT_DISPOSITION)
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=download.zip")
.contentType(MediaType.parseMediaType("application/octet-stream"))
.body(resource);
}