URL から画像を取得し、その画像を nodejs で base64 エンコードしてから、その画像を base64 エンコードで表示したいのですが、このコードは正しくありません。このコードは、間違った png ファイルを保存します。
var http = require('http')
, fs = require('fs')
, options
options = {
host: 'google.com'
, port: 80
, path: '/images/srpr/logo3w.png'
}
function base64_encode(bitmap) {
return new Buffer(bitmap).toString('base64');
}
function ImageReady(res2){
var request = http.get(options, function(res){
var imagedata = '';
res.setEncoding('binary');
res.on('data', function(chunk){
imagedata += chunk;
})
res.on('end', function(){
var base64encode = base64_encode(imagedata);
res2.end('<img src="data:image/png;base64,'+base64encode+'" />');
fs.writeFile('logo.png', imagedata, 'binary', function(err){
if (err) throw err
console.log('File saved.')
})
})
})
}
var httpListen = require('http');
httpListen.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
ImageReady(res);
}).listen(8080);
console.log('Server running!');