Вывод изображения из blob (перевод blob в base64)
Ajax запросом получаю картинку, сохраняю ее в бд (sqlite) как blob. Но отобразить картинку не получается. Для кодирования в base64 использую https://github.com/yckart/jquery.bas...uery.base64.js
вот скрипт без использования бд: $.ajax({ url : 'http://site.com/337746%5B1%5D_0.jpg', async: false, type: 'GET', success: function(image){ $('#myimg').attr('src','data:image/jpeg;base64,'+$.base64.encode(image)); } }); //Пробовал кодировать так: image = window.btoa(unescape(encodeURIComponent(image))); Encode дает какой-то похожий на base64 результат, но картинка не отображается (как будто url указана неправильно). Пробовал вставлять найденную в base64 png картинку, она отображается нормально. Значит вся загвоздка только в кодировании или при получении... Также читал, что для кодирования можно использовать canvas.toDataURL(); но не понимаю как загрузить в canvas изображение. И если делать через canvas, то также хотел уточнить, работает он только с png? |
а зачем это всё?
аяксом можно получить адрес картинки . Сохранить его в базе? если необходимо . Выводить на экран её с помощью стандартных методов, бекграундом, тегом img, канвой |
|
Цитата:
|
Цитата:
А phonegap с файлами не работает? не? http://docs.phonegap.com/en/2.7.0/co...e.md.html#File И приложение не может брать графические файлы с файловой системой и корректно с ними работать? |
Да просто совсем не хочется работать с файлами, удаляя их каждый раз.
А с канвасом не особо понял как изображения загружать. Просто рисовать их? // т.е. так загружаем в канвас: var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); var img=document.getElementById("scream"); ctx.drawImage(image,10,10); // и получаем? src=c.toDataURL(); И вообще, может я получаю данные неправильно?... Пробуя метод Aetae, написало, что не тот тип. Сделал alert(typeof image), вывело string... А в базу записывается нормально. |
Цитата:
|
Откуда картинка изначально?
|
Цитата:
|
Какая-то наркомания. =\
|
Часовой пояс GMT +3, время: 09:07. |