Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.12.2010, 06:57
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

я просто забыл, что речь идет о загрузке изображений пользователями. В этом случае - да, кроме flash альтернатив не знаю

если еще актуально, можешь мою реализацию попробовать
Ответить с цитированием
  #12 (permalink)  
Старый 25.12.2010, 10:09
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от RE_
3) Создавать миниатюры яваскриптом на стороне клиента, а потом заливать их на сервер.
можно-но есть там куча моментов
Ответить с цитированием
  #13 (permalink)  
Старый 25.12.2010, 17:09
Аватар для RE_
RE_ RE_ вне форума
Интересующийся
Отправить личное сообщение для RE_ Посмотреть профиль Найти все сообщения от RE_
 
Регистрация: 20.07.2010
Сообщений: 16

kadabrik, x-yuri, попробую, но привязка флеша займет определенное время.

dmitriymar, можно? А можно пример или хотя бы методы/функции нужные?
Ответить с цитированием
  #14 (permalink)  
Старый 25.12.2010, 17:15
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

пример не дам-сам сейчас в процессе. но скажу как-изображение в канву соответсвующего размера и скриншот.

canvas.toDataURL("image/png") возвращает base64-кодированный PNG-«скриншот» канвы. и отправить на сервер уже файл нужного размера.

в канву положить изображение-через форму выбора файла-ложиться но есть свои моменты чтобы он отобразился на канве. к ие прийдётся добавить поддержку канвы-так что в принципе метод кросбраузерный.сам долго искал варианты этого-на этом форуме. в итоге удалось собрать ориент. алгоритм. сейчас только ложит в канву файл -скриншот и отправку на сервер ещё не делал.

Последний раз редактировалось dmitriymar, 25.12.2010 в 17:21.
Ответить с цитированием
  #15 (permalink)  
Старый 25.12.2010, 17:23
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

вот текст полного ответа какой я получил по скриншоту из канвы
Сообщение от subzey
canvas.toDataURL("image/png") возвращает base64-кодированный PNG-«скриншот» канвы. Отослать его на сервер, разобрать в php base64, и вуаля. Если хочется, можно сохранить строку в файл. Если хочется, можно скормить её GD и сделать jpg.
Ответить с цитированием
  #16 (permalink)  
Старый 25.12.2010, 23:05
Аватар для kadabrik
Кандидат Javascript-наук
Отправить личное сообщение для kadabrik Посмотреть профиль Найти все сообщения от kadabrik
 
Регистрация: 10.12.2010
Сообщений: 114

Canvas не будет работать в IE ниже 9 версии, тоесть в большинстве ослов на сегодня.
Ответить с цитированием
  #17 (permalink)  
Старый 25.12.2010, 23:08
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

kadabrik,
растрою ,канва работает в ie ниже 9 версии-нужно библиотеку полключить и експлорер начинает работать с канвой и всеми её функциями
excanvas.js -одна из библиотек раелизующих канву в експлорере
есть ещё библиотека полной поодержки

Последний раз редактировалось dmitriymar, 25.12.2010 в 23:48.
Ответить с цитированием
  #18 (permalink)  
Старый 26.12.2010, 14:24
Аватар для RE_
RE_ RE_ вне форума
Интересующийся
Отправить личное сообщение для RE_ Посмотреть профиль Найти все сообщения от RE_
 
Регистрация: 20.07.2010
Сообщений: 16

dmitriymar, канвас - хорошая мысль.
Правда пока нашел простенький вариант (на php), который конечно не решает проблемы, по позволяет ее обойти в некоторых случаях.
Мы тянем превьюшку, которая встроена в jpg, и работаем с ней:

if(exif_thumbnail($tmpname)) {
	$image_tmp = exif_thumbnail($tmpname, $width, $height);
	$image = imagecreatefromstring($image_tmp);
	imagecopyresampled(
		$thumb, $image, 0, 0, 0, 0,
		$tsize[0], $tsize[1], $width, $height
		);
}


Правда это работает только с включенным на сервере exif и только если в картинке есть превьюшка, поэтому вариант не окончательный.
Постараюсь что-нибудь придумать с канвасами.
x-yuri, добавление флеш заливки не очень хороший вариант(я это не упомянул) т.к. желательно было бы генерировать тумбнейлы в первую очередь при массовой заливке с ftp. Если никак не получится, то буду пытаться использовать этот вариант.

Последний раз редактировалось RE_, 26.12.2010 в 14:30.
Ответить с цитированием
  #19 (permalink)  
Старый 26.12.2010, 14:31
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

я ща просто налетел на то что при выборе файла-он отображается(тоесть его можно отобразить на странице ) в сафари, ие ,фф. а вот в опере и хроме нет. причину вижу в том что те браузеры-отображают только название файла -скрывая путь-если присваивать путь из строки выбора переменной-но работает с полным ,а хром и опера пишет путь при присваивании на манер-с:\fakepath\ -причём неважно на каком диске лежит изображение -всё равно будет диск с /фкепатч/имя файла.вот сейчас думаю как с:\fakepath\ обойти -если пройдёт что при убирании его будет работать как и в остальных браузерах-тогда норм. но вот если они скрывают путь этим-тогда всё станет. а вот остальная реализация-уменьшение в размерах,отправка на сервер -это не проблема

Последний раз редактировалось dmitriymar, 26.12.2010 в 14:52.
Ответить с цитированием
  #20 (permalink)  
Старый 26.12.2010, 15:00
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от RE_
x-yuri, добавление флеш заливки не очень хороший вариант(я это не упомянул) т.к. желательно было бы генерировать тумбнейлы в первую очередь при массовой заливке с ftp. Если никак не получится, то буду пытаться использовать этот вариант.
ну, и к чему тогда вот это было?
Сообщение от RE_
В смысле мне их скачивать сжимать фотошопом, например, и обратно заливать?)
Не, ну понятно можно и программку написать, которая бы взаимодейтвовала с сервером, но это равносильно. Нужна автоматизация
пишешь php-скрипт, который автоматически заливает на ftp картинки, генерирует для них эскизы и тоже заливает на ftp
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание скрипта! Создание диктанта для учеников! Елизавета Работа 10 30.06.2010 21:00
Получение текстовой области на стороне клиента sukubba Общие вопросы Javascript 2 18.04.2010 19:10
Проверить размеры изображения на стороне клиента kez jQuery 2 19.05.2009 11:23
Генерация thumbnail на стороне клиента с передачей на сервер King555 Общие вопросы Javascript 2 30.03.2009 15:09
Сохранение данных на стороне клиента средствами Javascript baal1988 Events/DOM/Window 4 24.08.2008 21:32