嘿,我是一个真正的节点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 );
}如果我用我的应用程序解析一个博客提要,这个函数会下载大约一半的图片。我可以从浏览器中很好地看到图像。文件被创建,但其中一些文件保留在0字节。
我正在解析的示例提要是:http://feeds.feedburner.com/ButDoesItFloat?format=xml
我在这里看到了这个问题:Writing image to local server,它很类似,很想看看它是如何处理节点请求的
发布于 2013-01-23 12:35:52
请看一下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);
}
});https://stackoverflow.com/questions/11592833
复制相似问题