Как передать аудиофайл с сервера express на клиент?

я новичок в бекэнде, поэтому сильно не ругайтесь)

Задача такая: у пользователя отображается список аудиозаписей, при клике на одну из них начинает скачка этой записи. При клике на сервер уходит запрос с id трека, саму запись я получаю со сторонних устройств с помощью другого скрипта (запуская через child_process). После чего я должен эти записи передать и соответственно как-то получить в браузере. Вот мой текущий код:

Сервер

app.post('/index/id',checkAuthenticated, async (req,res) => {
    const regIdent = req.body.ident;
    const filePath = getPathAudio(regIdent);
    res.sendFile(filePath, (error) => {
        if (error) throw error;
    });
});

Клиент

<audio controls>
            <source id="aim" type="audio/mp3">
</audio>
<script>
        const response = await fetch('/index/id', options);
            const buffer = await response.arrayBuffer();
            const bytes = new Uint8Array(buffer);
            const blob = new Blob([bytes.buffer]);

            const audioFrame = document.getElementById('aim');
            const reader = new FileReader();

            reader.addEventListener('load', (e) => {
                    audioFrame.src = e.target.result;
            });
</script>

Этот код для получения картинок, очевидно что с аудио он не работает. Подскажите как мне отправить аудиозапись, а главное что с ней делать на клиенте и каким образом отдать на скачку?

Заранее спасибо)


Ответы (0 шт):