我正在尝试下载并生成在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');发布于 2012-12-16 03:18:14
除了imageData的初始化之外,代码看起来很好。
var imageData = '';应该可以解决这个问题。https://stackoverflow.com/a/5294619/1135590有一个更详细的讨论。
https://stackoverflow.com/questions/13895186
复制相似问题