通过express.js将音频文件传输到客户端

时间:2020-02-13 20:25:19

标签: javascript express axios telegram-bot

同事,请告诉我我做错了什么。

我有一个电报中的音频文件链接。我的目标是开始下载此文件并将文件流式传输到客户端(不将文件保存在我的服务器上)。

我想出了一种解决方案,但是它不起作用:

res.set('content-type', 'audio/mp3');
res.set('accept-ranges', 'bytes');


try {
  let audioFile = await axios({
    url, // File link
    method: 'GET',
    responseType: 'stream'
  })

  audioFile.data.pipe(res)

  audioFile.on('error', err => {
    res.statusCode = 500
    res.end("Server Error")
    console.error(err)
  });

  audioFile
    .on('open', () => {
        console.log("open")
    })
    .on('close', () => {
        console.log("close")
    })

  res.on('close', () => {
    audioFile.destroy();
  })

} catch (error) {
  console.log(error)
}

控制台错误: 在TLSWrap.onStreamRead上读取ECONNRESET(内部/stream_base_commons.js:200:27)

0 个答案:

没有答案