Skip to content

Instantly share code, notes, and snippets.

@jfsiii
Created September 17, 2012 19:26
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jfsiii/3739251 to your computer and use it in GitHub Desktop.
Save jfsiii/3739251 to your computer and use it in GitHub Desktop.
Give a url, get back a base64-encoded data URI
/**
* Given an image URL, return a base64-encoded data URI.
* @param {String} url|uri|image The URL for the image to be converted.
* @param {String} [callback|cb] Name of the function you want to be called.
* @returns {Object} JSON
* @returns {String} JSON.data The data URI for the image
* @returns {Object} JSON.meta
* @returns {Number} JSON.meta.width The width of the image, in pixels.
* @returns {Number} JSON.meta.height The height of the image, in pixels.
* @returns {Object} JSON.http
* @returns {Number} JSON.http.code The HTTP status code for the image request
* @returns {String} JSON.http.text The text associated with {JSON.http.code}
*/
jQuery.getJSON('//image2datauri.jit.su?cb=?', {
url: 'http://nodejs.org/images/logo-light.png'
}, function(data) {
var image = new Image();
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
image.src = data.data;
context.drawImage(image, 0, 0);
document.body.appendChild(canvas);
})
{
"data": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPUAAABCCAYAAACPfpCoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAE3tJREFUeNrsXQt4VNW1XpOZPAYSwFQqtSJQL1ap/aqNV6ylVRQfqFBqvaKIQpHqraDVWq+F0uuj4KtCUWurVrTVgoAgUikWroAoBBBEEBHkEUReCRgeeSeTmen+M//cHIaZyTmTcyZncC++9UGGMyf7nL3XWv967LU94XBYMoU+PrBQ3tjyO/H7Orp+rOFwSLK9eTLkWxOlc7sebhhSB8V/UtxN8WTF8xXXypeQ3v38JXl310tqHXVw6Qg9cnvR1JTHlyWanJkWT5ZUNxyUJTufd8uQTld8ueI+imcpfk1xXz1Txx9poXaQcrzt5POKDbLl4HI3DCeouMHw81WK31D8iuKeera0UGsyaa1rA0ek5ND70hCsc+MQge+GKl6reJzirnrWtFBraoHaZ3eS1ftmSUVDmZuHma/4d4oXKv45hq1nTgu1pgQUVn/yvAWy6LM/Z8Jwz5BIMG0p4bkmLdSa4sNwr+xSvvWBmh2ZMuQixdMVX6BnTwu1prhC7ZGGxmpZvPO5TBo2IPnX9OxpodaUgLK9ftldsVE2lS/NpGGH9MxpodaU6EV7fFLVUC6H6vbol6FJC/XxQWEl2F7xerL1q9CkhVqTJk1aqDVp0kKtSZMmLdSaNGnSQq1JkyYt1Jo0adJCrUmTFmpNmjRpodakSZMWak2aNGmh1qRJkxZqTZq+5OSz6T7o2XuT4naK/654b4a+iyv5N9rn1mXonHoEu0cyl/Ik0qThC8WfZuD4T1J8m+LzFFcofknx/1mfRE+y/0aHmh8qDijeR+P8dvTdtdZSo5fVEMVrFD+t+DHFKxT/THFBBk3EhYqXKZ6teIZE2vn0V+zNoGforPg3VKglikcpPiEDlepKLlCsqUmSOc0QYdhuVfyh4gcl0g7qBsXzFP9NcS+zNwqGGmTmprFSH6xO9q4uUzyIczxe8fcUn4t31hqhxk3RP3qq4v8wfH6qYjS7RvvZAS6fiLMU/0XxIsW9+bJ81LLzORn/mQEu1HBaA0xuF8U4PeCPfIZreV2Niy04epG/rPifir9Di4POK3crflfxLyXS+dStNFDxXMVobRPbLSZH8c2K31E8RvFXW7qZNyu7qf3VzE/GyJH6uA0rP6bsYc5fV7xZ8UjF38D6TUWoe3ICILRXJLnuYlq+6ZwoNxEWyMNc9COTWOQbqWmfVHyiCxdTP8VvEeLFe8fnK57JObjehYIBqPqE4n/QqsWj7oonSqTT6XUuG/+36W7OItozCh3W1bQYJPUwUcjwlm7s9xXI9sOrpKx6W6JLcslweVcr/hZh+dIsixMwhrAI/rPfxHfQEWCw4vf4QF3aeBLaUWuu5rOYgXbQrHfyuf/bJYKBo3P+RIVzmQkfG3PwgItcogJC1fcV32PSTehNIYGCOtsFyuhhumk3cp2DDiieQAGfQjnpz+c0KoIXFS9R/P1EvwBdaPNzTpR/lfwhUcPKcsUw442KS+k2wu0qNiPUORzcYj5IhxQncQxfwu2EV+mmS6lRAalPT1GQ/kyrcmUbLaYTKASrJNKfOzcDA0nwA+cQqp5q8bteKqiljN+k29/2Mwi2mOs5qoxCREtYYzgU4aDh839JpCvrXdIc+IOivYiuxXMU9LjBstpAhUzd+EsprdoS+9/ziBIqFb/K9wFFP60lob6Y8O5lK45+EoIwPcMHHZimiYC//wLdhf42BdVmM5bw7TQuqKH0oZ6gpcg0OpuLD2d4XWKD+/Q/XEe3iX1ZnGTUnz7/szGysIhBsRGK1yeKfdGFu5LCV2+Ih9zK+46Jh359WTlS11gpMzb9Wkqrt5gOssSjbxI+zKdg200X0mrOYLDKCfqK4rGE/rcQettFQBpDGPwY77BbgUDdAiKMogwUZiigRySSXbjeZgHsRSF7L8antZMQQ/orjYLxQMFtXFdXUbmYIcDjX3MegVYC/LwrUTBcvP+KRWA5Wf4mwZ7+yX2yv7rEslCfRA24gprHSXiXzcAHJvtRG6FUDv2cBfRvnBS4QomkkQDHkMaz87gaBD2e4lxcJplXKNSeVmgJF7KTR/mcTwWLTIZdQVmsm/vhoyoexnUlhNYT6A+/aLC6Vmij4muIvopjlNRMIpq+Rv/al5Ur9Y3VMg1QvHqrKaH20PIsIDxIZ34T+b37qO1+0cp7AVXMpa+RTqt2pkTSePNsgJZQdvcSJd0hmZUrN0LVaIrnzDT+3pGEsjgXLL8V9xnG9fiAHJ31eIUKFn7zfhvGO5Nu6N0MekXpx3x/zxp/fxMUD1bJDGWx9yWB4lkMYs2g39yWqSdoqckMRFkNxuURvmBCr2jDZ7iIgv20mMsOxBLGjuKLxyWSa8406ki3bY4Nyi1V+jqF7n1Cco/F799CC2yUBcBinO09XPEHNo+3nOv+HAa6jvDzAsYLXjW6jlEojhz27sqPpTpwKK5Q9yWOd4tFGEDUYFUYxkjbRNXjKZjRfKdWqA+DSN+VzKV70+C2WUFPyFZ0tvAdKOI7DQj2E/4MeI88uZMnlqDccxRRzuvSXCjUTwwB3igUDwRr5fkPfyor90yPK9TdXbg4rAa1OrnwGayeQ9WvlZDRDfRNl42n0OJa6mSYgxL6vEBdQZuUvRnDuYIGYZbhs2NSsDj7PD+nUD4tf++YdBeEutGFiyPk8PXpIKsL4Xg4uiPgwjkIW1xH0bWEGvpkOSTEnRBUnsRYUOz8nUeFsI732ql4D/+9hv7yxQlQDcawvaX36vPkSGXDgSYfe39N8+V2pheW8X7ni6Z0KLLjmeC3ogYgpw3HkEWBS7SrAtFxZD46UGDh++6npZ9A2J4MxRXRZ0aw7C7CbyO1+OxRKF4XrFY+9li54JQb5RudzrMlTYIHQjrnajLSSZ/qddkmtFyadwdtyMDxRzcm4BlQqFHs4rECAUTTWQ0GpTwujkDvon8OLo35P6R1H21NHCJaoDJr8zjZV7W5VUJ9mNADlhkVW4jaIZI3jZ89IM3lcpqcpV3U+ojQIhWG6MkPuMBKM2D8WDePVjZ80Wd92fwpk1dfU/bXj36+qLax4lIK+c4U75st6cvvhwnJ7zB8hgpAbIdENd0F5LMoH28arruZcD1lgo9d6O8qi3c+m/IDA2ojX3dPgkUDgX9QmncRaXKGkNucyAXxfAxUPEIYCOGeIs2pErf5vICtl5RWbRkzZd3I8vnbJ3YLBGvu21O5acDMTWNq1ikhl8hmDlSlfWHx/ri+Io3P0sMAm+EHD6UrcZDvP2r4ULs/nL51lFpdEYda8ZrAkZR8agjsrySy06klwobx0by2UMug7dYZVmxhC9dt43WAssiHuql5xbzaxsqhb+94JrS7YoOvLlh1W47Xj7TOmX5fQV1Z9bZpc7eOf2Rz+TvbehZeMLaoy6AQ/VgztIFrr/wYZ9njWPbWGJTDLzlDEhepQNBn0ZKDOtoSCFDPlopQ4yXtsHB9LS2IFmp7CVHUFRauX0Gr5Sah3hQI1YXWlf0zL9fXbmpOlv+aMOVC/Z3n9WSPyM8uHLSp/J0B2d68YiXUe0yiF5SLPhEPnQRC9U0FG4CrNlMW5yRs+Hke4xwrqWRKKMw1HBuqN5FLbyeJA3LWfeyUrLw1P8UnusGhE4R3imKJSpPX54n16iqnyQfImOfL/5qyMGeH42efCnO97btnZ+UVS/K0H4wHIsmoLEyYikLqZ9Xe16R9tu2lDV4qFOxCvIufQYFeIUdXOVYp3i2RHV1rqGyX2/pStWxocgGFJXmOu6V0H/ZXo957UbKLQuGgFO+eqpSIk3tLmjavHKRgx0On+YTl4MG00LPo0n6hhVrT8UIeSV7im51gvWK7EurkXzUDXw/V7pGSQ6tEWX0nmrVFUVA9FQxg9Q/J2IGIvHsun7OD4XmhYYYRed1sl1B79JrS1EYUCisj3BCsPej3FRQr+N0tzjWHDTGcaNAJlvBF+s1lZn/ZWyUTm0y+Q90XUZmJck40/6sjpH6dbFRO2HCCfmLo/jmI/wZhv8NDEglsttovq9drK2Mha4OF6wPivm6iBX5fR+l98nVHahqPjA6GA3cpiGwMhqHmAUUoy/gztiNex8/utSLQqJE+UPNZU2mlQwRfGSlEBMdQK9A3wRx8JpHdhKghwJ7qGoNPfppdwZatWj4yks4ibDOzYQFRIeye6uKyZ7gpOyv3wX49bi8cfe7Mg906nP1kjrfdD2oCh+8JhhsHBEL1wxpD9StqGythzXE9goLYybbKkgkN1cu2QyukqqFcsjyOxWzDfM8QTgQwbzLxnboYRVtjF/xu1PKRkQRhRt4ZJZV/kPhFPlhg2HCPbalu3NKJoNH/Kr62U26XRwb3emxGWfX2HSv3Tp+068hHUpB7osLnjdLL311O6ZB61ytEvNeWzpV22Y72/sihle7Hn9G6Cbss0KtgZ4zA5tPHNnaEQap4nfapNYEuZTAGEdTfS3PzO1SSYRfR1RnwDGiQga4iw09qf9ojP+r5m0V7qzZLQU5EqDvmpg4wlMWX4t3TJNfn+K7WXLoLt/J5IFv3E019LpEaAcQH0DuvgEjLmFebRAhvi1BrynzCgsJGGpTuoqwyerZZpu3PRrcUBJDmnJx/xm/FWpFTXDpct1dB75WSYz3ibTX+AFSEvt8IeCFXHe3p3V2S9yyAX/EsFXJYC7WmWOpMSJfpbgUUVH9ar+cpLCnRvK2PNYHRFKUllUMS1xOCDyNK6kpubxBaQG3kpDcQoSy06XenLNRZFiG7R5xvleTGijWrY3KjG+Rpw3lA4QbaL/9IIj2zp6ZyE1SpoegkhbV6Jq3uCylYcgjkc+STJXJoQaxQQ1ElOh22p8E3F6vyk8okwOG3UqdaKUd3cXCCyl0oEFa7TdYeB0jBiZ1g6HuOnufYxmi5AcfAnmOVT36SBEK1LR0PKxS0EoNSQQEJ0mjnxHPXDcLmSaIAIbio/Ua122Ly+gQCDR8bnXVRIWfcivmek0L9AYMvVrazHeJAV7R2dhtDDU0cZ3Lekcgpj24QjAC1+5sWv4fc5WYXCeiHkvjEiUT0HBew3eSl5Sqm1TZ9Wkyh/xS5vtdjUpDTWeqDNS2BjyDX93YDkkULXxSSoNDlDMO1Q6W5DLRRWneeOSLnKBnF4XlomGDsbxftPW67UEMwsXf6Si4+q7Sc38UG8s9TffJuHc+RHh3PjeYsY9HAnZyAJW0oCFjQKCj4WQroYR2/+xdp2wPvsUCxR/vaFBDWWs7BvWJPX+x48BjzPJ+xA1NNBb/iP1UJ9uNNKbJguMHMM1xFIxGtOfdz/c+nDwyFbdwCulFS37d9kUQyF2hsYexVv4pz8JDdfl8Vrc55DFq0ZqIO80UBQk0W87uL/p9OyPu6dO9UJAl284Sp6bCo0Lt5SxoFYScVFnbjzGvFfTZJJCVyKWFaOvuWBbhoMde/MsBQq3SAVu1cWu5KB8aKclI0TcA+/Z+IiaaNEOwbe01q8q9NBAo+5Xx+L2YeetBCX22IR9UTPVglVI89QwVhPMcdO7jQ3B9dbGbbGcwJc4Ivp9XZZuOE7OOgoaHmWP3yhaeOaDriE/nHJIoIdcFoHTPBIYthXMCTOfl/tNGnXEbBHkHL4TTBNbqBFupDm+6JJg44+vfiVObZJEXP0jJ18EHHvC5y2gm9pTFsuukpDgRAmm04DUbs/H4kkeIeKz4vTtwYzTnGCbDRtCPq2dHMvzfXVMprKV4key3x/SBxtvHbWsLNa+TY/aRJEUSfrkObihJMBM/GUau+7MD4Z/Ped8uxnSDtoBADRHBbkLN1otdYGaFy/1Stgglawzn+iZjrlmOFgkQDe0wtdo9Xvn/KTcp9s+zdvEIUhvlGqmok5WMg5ecOOfp4nkQ0WJpPcDFW1LxBhTpKEkfELQl1AwNMpQwSwEK8Junr4TyHC3c0FxneeNJ9pb1O7Ct+XwckK8zcHwvppxIpzFhlw3g3cEKHyNGHiTtFeCfjiTymij3BQGQvphAiPyHp6V/2OudglA0KCmv2H7RqvxUL2ZiGYI2ZKHgiBbKMBmIK0SygOaLjT9EwjZD4xy0V8bpXOOYobaayu15sDDBmEW5B46Cs8PfSNh1AK+hfFFFgkuYkc7350q/HqKa2qBasHlIifahVU4kyw8e8j5MyV6ztkLKDdtCfg/+1tBX3WUC3aiT9t3TSYULM6LlRqRSVYPFjpxby1x9I2+0820PjE/WtT6ewv0nDCEK++XG6NwMNvn8JlVERlZ2tOyWjlvptm/3m1ryoBWLidItwOKUYUiN93/582WZeJsYyiWjicWn7tNkiWrxbGFiz4u4MJsxb3sbPUEqLDTj7d5Pf2cr4zhVUqm1NHzBeAOX4ieHzSwix0VrpLbo32Ya19BTXEtBXjRMD+7L2DvvMYHXnJHA1QtS6iNYjneGmAwqgiBEMRFvZByV5OmU/rcJlXGhBFz3H+wxCXZ7ElUFs5CGirBfEXa2Oo24MhHuCAeUi74zzsIz7o4EUEVD9hdNr6cveEHA9gzg3yNHFMWvohw+Uo3szu40AXx+QyOaBGTECC9/kJQrDeHFn1V3Uei3kOJGD3sjPDlBgUFF2vzibxbAj7jGOwh3bWgn1B7dRqa5Ox2D0ho4IzSbshz/vpYXOpNNFPmawZaA0521fYCAnUwhoCVFhRIK/Q6FelWHrCEZiCIX7dKKKJZLmU1L+LcAA0cInBq5/XMQAAAAASUVORK5CYII=",
"meta": {
"width": 245,
"height": 66
},
"http": {
"code": 200,
"text": "OK"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment