Create a gist now

Instantly share code, notes, and snippets.

base64 encoding images in NodeJS
/*
* Complete reworking of JS from https://gist.github.com/803410
* Removes external `request` dependency
* Caveats:
* * No error checking
* * Largely a POC. `data` URI is accurate, but this code cannot simply be inserted into an `express` app
*/
var URL = require('url'),
sURL = 'http://nodejs.org/logo.png',
oURL = URL.parse(sURL),
http = require('http'),
client = http.createClient(80, oURL.hostname),
request = client.request('GET', oURL.pathname, {'host': oURL.hostname})
;
request.end();
request.on('response', function (response)
{
var type = response.headers["content-type"],
prefix = "data:" + type + ";base64,",
body = "";
response.setEncoding('binary');
response.on('end', function () {
var base64 = new Buffer(body, 'binary').toString('base64'),
data = prefix + base64;
console.log(data);
});
response.on('data', function (chunk) {
if (response.statusCode == 200) body += chunk;
});
});
@xaptronic

Cool, this is the first example of doing this I've found that works. Thanks!

@egwada
egwada commented Aug 29, 2013

Thanks a lot for this code ! Save me many time !

@jerryni
jerryni commented Oct 14, 2014

Thanks a lot for this code ! Save me many time too!

@onggiaze

This helps me as well. Thank you for this code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment