我正在尝试使用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');
答案 0 :(得分:1)
除了初始化imageData之外,代码看起来很不错。
var imageData = '';
应该解决问题。 https://stackoverflow.com/a/5294619/1135590进行了更详尽的讨论。