2

nodejsでhttp.getを使用してダウンロードしてイメージを作成しようとしています。画像はダウンロードされているように見えますが、開くことができません。OSは、ファイルの形式が正しくないようだと文句を言います。誰かが私がここで間違っていることを教えてもらえますか?

これが私がグーグルのロゴをつかもうとしている例です:

    var options = {
    host:'www.google.com',
    port:80,
    path:'/images/srpr/logo3w.png'
};



    var downloadImage = function (options, fileName) {
        http.get(options, function (res) {
            var imageData;
            res.setEncoding('binary');
            res.on('data', function (chunk) {
                imageData += chunk;
            });
            res.on('end', function () {
                fs.writeFile(fileName, imageData, 'binary', function(err){
                    if(err) throw err;
                    console.log('File: ' + fileName + " written!");
                })
            });
        });
    };

downloadImage(options,'test.png');
4

1 に答える 1

1

imageData の初期化を除いて、コードは適切に見えます。

  var imageData = '';

問題を解決する必要があります。https://stackoverflow.com/a/5294619/1135590には、より詳細な議論があります。

于 2012-12-15T19:18:14.223 に答える