Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 01.08.2012, 14:18
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

Ну и почему тишина? кто что еще предложит как его дорабоать?
Ответить с цитированием
  #22 (permalink)  
Старый 02.08.2012, 10:31
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

Благодаря гуглу теперь все изображения на выходе получают формат jpeg))) Значит с 5 метров до 200КБ с разрешения 4К до 1024)
Делаю щас отправку на сервак через POST) кому надо в личку)
Ответить с цитированием
  #23 (permalink)  
Старый 02.08.2012, 13:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

KupueIIIKo,
Вопрос:
Через POST - каким mime-типом отправка?
multipart/form-data (стандартно) или всё же application/octet-stream ?
Ответить с цитированием
  #24 (permalink)  
Старый 02.08.2012, 18:17
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

application/x-www-form-urlencoded
Ответить с цитированием
  #25 (permalink)  
Старый 02.08.2012, 18:38
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

KupueIIIKo, Спс
Эт мну ужо и бесит - пока не нашел достойного варианта идентичного отправке формы
Ответить с цитированием
  #26 (permalink)  
Старый 02.08.2012, 21:40
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

при отправке через аякс, можно менять mime)
Ответить с цитированием
  #27 (permalink)  
Старый 02.08.2012, 22:39
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

KupueIIIKo,
Угу - ток при наличии филе API и и blob data итого в Хроме
Ответить с цитированием
  #28 (permalink)  
Старый 30.10.2012, 00:06
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

всем привет. Написал обертку для преобразования
a) image -> canvas
b) canvas -> canvas
Никакого сакрального смысла она не несет, просто чтобы не писать одно и тоже по многу раз. Например,
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://nepiu.narod.ru/links/jquery.to.canvas.js"></script>

<!-- будем надеяться, что это изображение в кеше :) -->
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="">​

<script>
    
    // to canvas 1:1
    $( 'img' ).toCanvas().appendTo( 'body' ).wrap( '<div>' );
    
    // zoom
    $( 'img' ).toCanvas({ width: 300, height: 68 }).appendTo( 'body' ).wrap( '<div>' );
    
    // crop
    $( 'img' ).toCanvas({ sw: 90, dw: 90 }).appendTo( 'body' ).wrap( '<div>' );
        
</script>

После того, как будут произведены все необходимые манипуляции с канвасом (ресайз и/или кроп), преобразую его в dataURL c помощью метода
var base64 = canvas.toDataURL( 'image/jpeg', 1 );

Можно ли это дело (base64) отправить на сервер в виде new FormData()? Т.е. сперва преобразовать, а затем отправить. Чтобы было так же просто, как и со встроенным объектом File?
var formData = new FormData();
formData.append( 'file', file );
xhr.send( formData );

Глупо звучит, но тем не менее
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 30.10.2012 в 00:09.
Ответить с цитированием
  #29 (permalink)  
Старый 01.10.2013, 21:14
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от nerv_
Можно ли это дело (base64) отправить на сервер в виде new FormData()? Т.е. сперва преобразовать, а затем отправить. Чтобы было так же просто, как и со встроенным объектом File?
var formData = new FormData();
formData.append( 'file', file );
xhr.send( formData );
у канвы есть метод toBlob, но реализован по-моему только в FF.

так что два варианта: либо отправлять на сервер строку base64 и там раскодировать, либо как-то раскодировать вручную на js - получить байты в виде Uint8Array, потом передать в конструктор Blob


функция с интуитивно понятным названием "atob" переводит base64 в строку, из этой строки (используя charCodeAt) и можно собрать Uint8Array
Ответить с цитированием
  #30 (permalink)  
Старый 01.10.2013, 21:58
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

вот, набросал http://jsfiddle.net/rsXTj/
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повременная смена изображений jozev Элементы интерфейса 2 01.08.2011 18:43
Прелоадер. Загрузка всех изображений на сайте пред загрузкой. DorianLeroy Общие вопросы Javascript 5 28.07.2011 17:20
Прокрутка изображений gen552 Элементы интерфейса 6 01.04.2011 13:11
Скролл мини изображений I-Trap Элементы интерфейса 1 25.11.2009 22:03
Изменение HEAD перед загрузкой BODY Temchik (X)HTML/CSS 41 15.11.2009 22:06