Node.js 下载带有节点请求的映像
嘿,我是一个真正的node js初学者,所以请容忍我。我正在尝试下载一个文件(图像)这是我的代码:Node.js 下载带有节点请求的映像,node.js,Node.js,嘿,我是一个真正的node js初学者,所以请容忍我。我正在尝试下载一个文件(图像)这是我的代码: function downloadFileFromURL( url, callback ) { file_name = path.basename(url); var wstream = fs.createWriteStream(file_name); wstream.on('error', function (err) { console.log(e
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字节
我正在分析的示例提要是:
我在这里看到了这个问题:这是类似的,我想看看它是如何处理节点请求的。您只需要传递两个参数,第一个是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);
}
});
看一看,以实现它。您只需要传递两个参数,第一个是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);
}
});
抱歉,如果不清楚的话,我的问题是为什么有些文件会被完全下载,有些文件没有使用节点请求模块,以及是否有人遇到过类似的问题。与此同时,我在代码上做了更多的工作,并用这里的代码替换了它:现在它工作得很好,根本不使用请求模块。也许这是一个bug,我更应该在github上问一下……如果不清楚,很抱歉,我的问题是为什么有些文件会被完全下载,为什么有些文件没有与node request模块一起下载,以及是否有人有类似的问题。与此同时,我在代码上做了更多的工作,并用这里的代码替换了它:现在它工作得很好,根本不使用请求模块。也许这是一个bug,我更应该在github上询问。。。