From 76a0d168367ed03ef9e73059f2bdaf1c44c0fd22 Mon Sep 17 00:00:00 2001 From: Simon Grim Date: Mon, 18 Jan 2016 11:24:29 +0500 Subject: [PATCH] avatar images' base64 encoding-decoding for gif for local storage, #339 --- js/twister_io.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/js/twister_io.js b/js/twister_io.js index 020c966..7ee31eb 100644 --- a/js/twister_io.js +++ b/js/twister_io.js @@ -389,6 +389,9 @@ function getAvatar(username, img) { case 'png/': data = 'data:image/png;base64,' + window.btoa(data.slice(4)); break; + case 'gif/': + data = 'data:image/gif;base64,' + window.btoa(data.slice(4)); + break; } _avatarMap[username] = data; img.attr('src', data); @@ -400,10 +403,13 @@ function getAvatar(username, img) { if (imagedata !== 'img/genericPerson.png') { if (imagedata.substr(0, 27) === 'data:image/jpeg;base64,/9j/') _putResourceIntoStorage('avatar:' + username, 'jpg/' + window.atob(imagedata.slice(27))); - else if (imagedata.substr(0, 22) === 'data:image/png;base64,') - _putResourceIntoStorage('avatar:' + username, 'png/' + window.atob(imagedata.slice(22))); - else - _putResourceIntoStorage('avatar:' + username, imagedata); + else { + var s = imagedata.substr(0, 22); + if (s === 'data:image/png;base64,' || s === 'data:image/gif;base64,') + _putResourceIntoStorage('avatar:' + username, imagedata.substr(11, 3) + '/' + window.atob(imagedata.slice(22))); + else + _putResourceIntoStorage('avatar:' + username, imagedata); + } } req.img.attr('src', imagedata); }