Как передать изображение в base64? (v2.0.1)

ЗАКРЫТО
#1 18 июня 2014 в 00:26
Всем привет.
Нужно передать и сохранить на сервере изображение вида:
  1. data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE....... и еще очень много .....
Формирую это изображение я в файле: /templates/default/controllers/images/upload_single.tpl
Т.е. появляется тег <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD...." />
Так вот, можно ли загрузить картинку на сервер в таком виде? Используя стандартные средства Instantcms? Подобно обычной кнопке "Выбрать и загрузить", при нажатии на которую, аяксом посылается запрос и появляется маленькое изображение, которое можно удалить при желании.
#2 18 июня 2014 в 14:50

можно ли загрузить картинку на сервер в таком виде? Используя стандартные средства Instantcms?

whorse
Можно, только стандартные средства нужно будет переписать или написать свои)
Но самая большая печаль это база… Вы представляете как она "разрастется"?
Картинки то придется в базу записывать! Вы сравните для начала вес картинки которую будете преобразовывать в base64 и вес файла с кодом картинки...

В общем не оправдано это, имхо…
#3 18 июня 2014 в 15:14
Нет, нет, в базу нужно сохранять только пути для уже созданных изображений.
Нужно передать на сервер картинку в виде base64, там ее обработать, сделать так же 4 разных копии изображения в .jpg и сохранить их пути в базу. Затем так же вывести превьюшку рядом с кнопкой "загрузить". Все в точности так же должно работать как и с обычным способом загрузки файла на сервер.
#4 18 июня 2014 в 16:18
Это вроде проще для реализации, нужно дополнительно вывести поле для ввода base64, передать код на обработку и после отдать стандартному обработчику…
Сложностей для работы становится больше, нагрузка на обработку выше — если не секрет, зачем это нужно?
Вы что перед загрузкой будете специально фото переводить в base64?
Если пару таких картинок в год попадется (еще поискать нужно) то не проще ли для юзера сохранить картинку в пеинте и залить на сайт? чем ковырять исходники сайта, копировать длинные портянки… При этом наверное еще и потеря качества будет.

В общем если не секрет, зачем это нужно?
#5 18 июня 2014 в 17:32
html5
т.к. именно юзер создает изображение в браузере, а затем… canvas.toDataURL("image/jpeg");
#6 18 июня 2014 в 17:46
reload, если у вас есть желание помочь за вознаграждение, буду очень признателен =)
#7 18 июня 2014 в 17:57
ну так после создания декодируйте картинку с base64, и передайте на обработку
один из примеров

Это типа теория — как сделать до запятой не подскажу — нужно смотреть как работает загрузка...

eload, если у вас есть желание помочь за вознаграждение, буду очень признателен =)

whorse
нет, нет — я не разработчик!
они туточки — instantcms.ru/freelancers
#8 18 июня 2014 в 18:58
Спасибо. Не знал что такой раздел есть тут =)
#9 19 июня 2014 в 21:02
Вопрос решен, тему можно закрывать?
#10 19 июня 2014 в 22:28
Решен =)
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.