首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果音频文件位于另一台服务器上,如何通过express.js引导它的流?

如果音频文件位于另一台服务器上,如何通过express.js引导它的流?
EN

Stack Overflow用户
提问于 2020-02-13 08:00:35
回答 1查看 2.1K关注 0票数 0

我有一个处理程序express.js,它以文件的ID作为输入。

我不知道如何通过axios捕捉这个文件的流,并将它传输到客户端部分SPA。

谢谢你的关注

代码语言:javascript
复制
router.get('/api/track/:id', async(req, res) => {
  // Create bot
  const telegram = new Telegram(token, { agent })
  const fileId = req.params.id

  let url
  try {
    // Getting filelink from telegram
    url = await telegram.getFileLink(fileId)
  } catch (error) {
    console.log('Error on getting link on file from telegram', error)
    return { message: 'Error on getting link on file from telegram', code: 4, error}
  }
  
  res.set('content-type', 'audio/mp3');
  res.set('accept-ranges', 'bytes');
  
  // And this is place i'm try download file as stream...
  try {
    const response = await axios({
      url,
      method: 'GET',
      responseType: 'stream'
    })
  
    console.log(response)
  } catch (error) {
    console.log(error)
  }
  
})

EN

回答 1

Stack Overflow用户

发布于 2020-02-13 08:05:26

express res对象是一个可写流。这意味着您可以将axios 可读的响应流输送到快速可写响应流中。

代码语言:javascript
复制
const response = await axios({
  url,
  method: 'GET',
  responseType: 'stream'
})

console.log(response)
response.data.pipe(res)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60202993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档