nodejs - 下载的图像已损坏

时间:2012-12-15 18:58:45

标签: node.js

我正在尝试使用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');

1 个答案:

答案 0 :(得分:1)

除了初始化imageData之外,代码看起来很不错。

  var imageData = '';

应该解决问题。 https://stackoverflow.com/a/5294619/1135590进行了更详尽的讨论。