【问题标题】:Downloading a mp3 file from another server to my server将 mp3 文件从另一台服务器下载到我的服务器
【发布时间】:2016-02-24 15:19:04
【问题描述】:

我有一个 nodejs 服务器,我在其中使用 GET 请求来接收 mp3 文件的内容。然后我使用 writefile 将内容复制到 mp3 文件中。问题是 mp3 文件损坏或其他原因,因为我无法使用任何 mp3 播放器播放它,但 writefile 工作成功。

 request(options, function(error,response,body) {

    var path = "C://Users/foo/pop.mp3";
    var wstream = fs.createWriteStream(path);
    wstream.write(body);

    wstream.end();


    res.status(200).send(body);
  });

【问题讨论】:

  • 1) 在记事本中打开 mp3 以确保它不是 HTML 错误页面 2) 什么是正文,它是如何填充的?
  • 正文是 mp3 乱码,看起来像这样“a��qv Cı�Je���vM��!زe�995��K�����(n_ndL1@�,8M �@
  • 你认为可能是字符编码错误?

标签: javascript node.js mp3


【解决方案1】:

您的body 参数不仅包含直体,因此当您调用wstream.write(body) 时,您只是在编写body 对象而不是实际数据。

进行以下更改

wstream.write(body.Body.data)

【讨论】:

    【解决方案2】:

    我通过将响应直接传送到文件并将请求的内容类型标头设置为 ISO-8859-1 来解决此问题。

    【讨论】:

      猜你喜欢
      • 2019-04-15
      • 1970-01-01
      • 2016-10-18
      • 2019-01-24
      • 2011-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多