Эффективный способ загрузки файлов, расположенных в удаленном хранилище - PullRequest
0 голосов
/ 16 ноября 2018

Я создал приложение Java для хранения и загрузки больших файлов, поэтому, когда клиент загружает файл, он будет передан на сервер, который отправит его в облачную службу хранения (хранилище озера данных Azure), однако, когда пользователь пытаетсяПри загрузке файла запрос отправляется на сервер, затем сервер отправляет запрос в службу хранения, и передача файла начинается между сервером и службой хранения, в то время как клиент будет ожидать передачи между этими двумя серверами.конец, и это может занять много времени (шаг 3 на изображении ниже), мне интересно, есть ли способ загрузить то, что уже было собрано из лазури в то же время?

enter image description here

Вот мой код:

@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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...