我有一个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);
});
答案 0 :(得分:0)
您的body
参数不仅包含直体,因此当您调用wstream.write(body)
时,您只是编写body
对象而不是实际数据。
进行以下更改
wstream.write(body.Body.data)
答案 1 :(得分:0)
我通过将响应直接传递给文件并将请求的内容类型标头设置为ISO-8859-1来解决问题。