2

嘿,我是 node 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 which is similar and would like to see how it done with node-request

4

1 回答 1

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);
    }
});
于 2013-01-23T04:35:51.947 回答