Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.08.2012, 22:18
Интересующийся
Отправить личное сообщение для Greck Посмотреть профиль Найти все сообщения от Greck
 
Регистрация: 27.07.2011
Сообщений: 27

Отправка canvas-изображения на сервер
Сейчас использую canvas.toDataURL() и отправляю ajax-ом как POST-поле и сохраняю с помощью php, но этот способ кушает много памяти, можно, конечно, отправлять небольшими объемами: по одному изображению или даже разбивать на части, но много кода, костылей и все-равно ощутимая дополнительная нагрузка на сервер.

Есть какой-то способ отправить ajax-ом изображение из canvas, что бы оно сохранилось стандартным средством, как из <input type="file"...?
Ответить с цитированием
  #2 (permalink)  
Старый 26.08.2012, 23:16
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Greck,
http://habrahabr.ru/post/120917/
http://habrahabr.ru/post/132489/
http://habrahabr.ru/post/133351/
Ответить с цитированием
  #3 (permalink)  
Старый 27.08.2012, 10:00
Интересующийся
Отправить личное сообщение для Greck Посмотреть профиль Найти все сообщения от Greck
 
Регистрация: 27.07.2011
Сообщений: 27

Спасибо, http://habrahabr.ru/post/133351/ - помогла. Экземпляры с прототипом FormData принимают файлы в бинарном виде (bloab) и обрабатывают их соответствующим образом.

// В FF все просто: получаем бинарник из канваза одним методом
var bloab = cv.mozGetAsFile(name, 'image/jpeg');
// Создаем FormData
var form = new FormData();
// Добавляем бинарник
form.append('Filedata1', bloab);
// Отправляем форму ajax-запросом
$.ajax({
   url: 'http://exaple.com/upload.php',
   data: form,
   cache: false,
   contentType: false,
   processData: false,
   type: 'POST',
   success: function() {
      console.log('success');
   }
});


В Хроме, который мне был нужен, получить бинарник сложнее, но в указанной выше статье есть рабочий вариант. Все остальное - также.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
загрузка изображения в canvas ChikiSt Opera, Safari и др. 2 21.09.2011 16:44
Помогите пожалуйста с обьяснением загрузки изображения на сервер. 0931454574 Серверные языки и технологии 3 11.05.2011 18:05
Отправка файла на сервер асинхронно DDestroy Internet Explorer 0 09.03.2011 12:10
Отправка изображения из canvas на сервер m-mikle Общие вопросы Javascript 1 06.01.2011 20:45
как при добавлении изображения на сервер считывать имя в БД? solomusic Серверные языки и технологии 3 12.06.2008 23:28