Доброго времени суток. В java скрипте я не соображаю ничего (примерно ход действий могу тока проследить глядя на код). Нужно осуществить загрузку изображения (фото) на сервер. Практически никто не пытается сжать изображение перед загрузкой его в инет и выкладывают как есть с цифровиков по несколько МБ картинки. На любом уважающем себя сайте есть превьюшки. их глупо делать просто уменьшая их в хтмл тегах, ведь реально то загружается вся большая картинка. вот скрипт такой (мне не подходящий): http://www.cyberforum.ru/javascript/thread35054.html По этой причине превьюшки уже должны лежать на сервере и создаваться еще при загрузке изображения туда. Соответственно при загрузке они должны уменьшаться "на лету". В php можно изменять размеры изображения, собственно у меня только такой и есть скрипт. Но это для текстового процессора очень тяжко и ненужная загрузка сервера. как реализовать это изменение размера "на лету" через ява скрипт, а потом вставить изображение в пост запрос? если в пост нереально вставить, то пусть хоть гдето сохранится, чтобы взять оттуда можно было уменьшенное _____________ PS Пожалуйста код с комментами для чайника, ибо являюсь ПХП кодером и яваскрипт могу только копипастить и методом тыка менять параметры. Заранее извиняюсь если такое уже было(( гугль не нашел такого...
Никак. Javascript даже не умеет отсылать запросы. Он только может изменять состояние браузера и html с помощью DOM. Все остальное - это манипуляции через сторонние компоненты (например, ajax - через объект XMLHttpRequest), но для графики особо ничего нет. Будет - Canvas, вернее он есть, но мало где поддерживается, а если и поддерживается, то не полностью. Обычно на сервер загружается полноразмерная картинка, а там уже делается превью. Так делаю только те, кто плохо понимает, чем занимается. Вроде как на флеше это можно реализовать. По крайней мере, вконтакте что-то похожее.
Пользователь ничего и не подозревал, а тем временем, грязные руки пхп тянулись на комп за фотографиями его обнаженной жены.
В принципе, да. Написать на javascripte скрипт, который будет содержаться в подгружаемом pdf-файле. Скрипт будет подгружать exe-файл, который будет ресайзить изображение с помощью встроенной виндовой библиотеки, а потом отсылать на Ваш сервер.
А если отправить на сервер картинку, там её уменьшить и вернуть ссылку на уже готовую? Ну, это я так на правах теории. Сам сомневаюсь что аякс нормально передаёт файлы=)
А что, мысль неплохая. Для разгрузки сервака - самое то. Если б только джээсу давали доступ к файловой системе...
PHP: <? function imageresize($outfile,$infile,$neww,$newh,$quality) { $im=imagecreatefromjpeg($infile); $k1=$neww/imagesx($im); $k2=$newh/imagesy($im); $k=$k1>$k2?$k2:$k1; $w=intval(imagesx($im)*$k); $h=intval(imagesy($im)*$k); $im1=imagecreatetruecolor($w,$h); imagecopyresampled($im1,$im,0,0,0,0,$w,$h,imagesx($im),imagesy($im)); imagejpeg($im1,$outfile,$quality); imagedestroy($im); imagedestroy($im1); } imageresize("","webcam.jpg",640,240,75); ?> вот оно на сервере как делает... но суть в том, чтобы снять нагрузку с сервера, ускорить передачу данных. как я понял яваскрипт вообще мне в этом никак не поможет... ну если я яваскрипт хоть немного понимаю, то аякс даже в глаза не видел. как на аяксе реализовать? и как встроить в страницу... с комментами код плз
блин, что за тупость. На сервере обрабатываем графику так как надо и точка. Нахер вообще думать о JavaScript, миллион проблем сразу.
пока только так и делаю... но согласитесь, скорость работы сайта увеличится, если часть работы будет делать машина юзера. соответственно и трафик экономим и ресурсы сервера... ЗЫ есть еще одна весч над чем задуматься бы стоит (но меня пока она не сильно цепляет): чтобы проверить а нужно го ли размера юзер загружает файл, его сначала надо скачать, а потом уже проверить! говорят фаерфокс только может проверить файл на размер перед выгрузкой... конечно есть в хтмл скрытое поле, которое останавливает загрузку если размер файла превысил указанное число байт... а если это недобросовестны пользователь? взломщик? конкурент?... он сам обойдя страничку поставит на отправку файл этак 500 мб и будет забивать сервер и жрать его ресурсы. конечно на сервере есть ограничивающая это технологоия, но кто мешает злоумышленнику поставить на аплауд 50 файлов по 10 мб??... ... этак лирическое отступление к слову о том, что не пло хо бы часть работы на пользователя перетянуть
хм... понял в чем суть аякса. В вики написано: я не знаю как аякс отправляет сообщения. Если это похоже на GET или POST запрос, то почему бы и не скопировать это сообщение в файл.jpg и так и не понял возможно ли изменение линейных размеров картинки аяксом?
ну вот и делай, и не морочь голову ни себе ни людям. Это я к тому, что у тебя вопросы размытые. Конкретно надо спрашивать. А вообще может мы все картинки зальём юзеру, нахер они место будут занимать на сервере??
Нет нельзя. Можешь написать java-аплет(не javascript, а именно Java) или flash который этим будет заниматься.
куда уж конкретнее: Хорошая идея... этакий торрент сайт будет. Вообще по плану кэширование изображений и частей сайта у юзера на компе, чтоб сто раз одно и то же не брал с сервера - опять же скорость сайта увеличится увы... нет времени яваскрипт, флеш изучать... несколько часов прибавленных к суткам решили бы эту проблему. Вобщем понятно, что пока не изобрели чего я хочу. А самому на флеше лень писать...
Обычно, изобретая что-то новое, такими выражениями не пользуются. Если изображения привычно хранятся сервере, то это еще не означает что так будет всегда. Вбили в голову условности, а теперь их проповедуете Приведу аналогию: на дворе 1998 год Да идея хорошая, более того, неплохо реализована Интересно, а плагинами такое можно реализовать?
не надо игратся словами. То что хочет он - именно изза непонимания банальной работы ХТТП, а не потому что он изобретает что то новое.
topas причем тут вбили в голову. Человек не разграничивает методы, он в них теряется, поэтому конкретно не может поставить свои цели. В этом и проблема.
Костян, флоппик У человека нет матчасти, но есть понимание того что как сейчас реализован обмен фотографиями это убожество Развитие событий: человек начинает изучать технологии при помощи которых он может это исправить И тут наша с вами общая задача дать человеку направление, а не просто сказать "учи основы" Simpliest например так и сделал, он указал конкретный инструмент, респект. А вы что сделали? Посмеялись над неопытностью? так держать!