2

我正在尝试在 nodejs 中使用 http.get 下载和图像。图像似乎可以下载,但无法打开。操作系统抱怨文件的格式不正确。有人可以告诉我我在这里做错了什么吗?

下面是我只是想获取 Google 徽标的示例:

    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 回答