Потоковое аудио с Java / Spring - PullRequest
1 голос
/ 10 ноября 2019

У меня есть несколько файлов, размещенных в облачном хранилище google, и я хотел бы передать их клиенту, но файлы защищены учетными данными, поэтому я бы хотел проксировать их через мое java-приложение.

Итак, браузер-> Java API -> Облачное хранилище Google

То, что я пробовал до сих пор

@RequestMapping(method = RequestMethod.GET, value = "/{fileId}")
public ResponseEntity<StreamingResponseBody> stream(@PathVariable Long fileId) throws IOException {
    logger.info("Request to stream file {}", fileId);

    //This is just a sample to for creating the input stream as it's what I get from google cloud storage
    File file = new File("./test.mp3");
    FileInputStream in = FileUtils.openInputStream(file);

    StreamingResponseBody stream = out -> {
        IOUtils.copy(in, out);
    };

    return ResponseEntity.ok()
        //.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + file.getName() + "\"")
        .header(HttpHeaders.ACCEPT_RANGES, ACCEPT_RANGES_BYTES)
        .header(HttpHeaders.CONTENT_TYPE, "audio/mpeg")
        .contentLength(file.length())
        .body(stream);
}

, но при этом возвращается весь файл и отображается проигрыватель (хотя не воспроизводится)

И при включении CONTENT_DISPOSITION он создаст ссылку для загрузки всего файла.

Как я могу транслировать аудио с диапазонами в весенней загрузке / простой Java?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...