嘿我是节点js的真正初学者所以请耐心等待。我正在尝试下载文件(图像)这是我的代码:
function downloadFileFromURL( url, callback )
{
file_name = path.basename(url);
var wstream = fs.createWriteStream(file_name);
wstream.on('error', function (err) {
console.log(err, url);
});
wstream.on( 'close', function(){
console.log( "finished downloading: ", url, this.path );
});
request(img_url).pipe( wstream );
}
如果我使用我的应用解析博客Feed,此功能会下载大约一半的图片。我可以通过浏览器看到图像很好。文件已创建,但其中一些保留为0字节。
我正在解析的示例Feed是:http://feeds.feedburner.com/ButDoesItFloat?format=xml
我在这里看到了这个问题:Writing image to local server这是类似的,很想看看它是如何完成节点请求的
答案 0 :(得分:0)
看看http-get以获得它。你只需要传递两个参数,第一个是URL,第二个是保存文件的路径,非常简单。回调函数将文件名返回为“result.file”。检查下面的代码并试一试:
var http = require('http-get');
http.get('www.ohmydear.com/thesite.png', '/path/to/thesite.png', function (error, result) {
if (error) {
console.error(error);
} else {
console.log('File downloaded at: ' + result.file);
}
});