2

ちょっと私はノード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

私はここでこの質問を見ました:似たようなイメージをローカルサーバーに書き込む

4

1 に答える 1

0

http-getを見て、それを達成してください。2 つのパラメーターを渡すだけです。1 つ目は URL、2 つ目はファイルが保存されるパスです。非常に単純です。コールバック関数は、ファイル名を「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 に答える