从远程下载 Mp3 文件。节点

Downloading Mp3 file from remote. Node js

我正在尝试使用节点 js 从远程 url 下载 mp3 文件。为此,我正在使用以下代码。但它不起作用(下载后只有 0 字节的文件下载后无法播放)。

var http = require('http');
var fs = require('fs');
var url = "http://play.publicradio.org/rivet/d/podcast/marketplace/segments/2015/09/28/mp_20150928_seg_01_64.mp3";
var dest = "2.mp3";
var file = fs.createWriteStream(dest);
var request = http.get(url, function(response) {
    console.log("res "+response);
    response.pipe(file);
    file.on('finish', function() {
        console.log("File download Completed");
    });
}).on('error', function(err) { // Handle errors

});

这里的问题是 http 不遵循重定向。 您可以使用默认执行此操作的 request npm 模块,以避免自己处理 headers。

var fs = require('fs'),
  request = require('request');

request
  .get('http://foo.com/bar.mp3')
  .on('error', function(err) {
    // handle error
  })
  .pipe(fs.createWriteStream('2.mp3'));