Загрузка без перезагрузки...
Всем доброго времени суток.
Хочу спросить такую вещь. Как сделать загрузку файлов(изображений на сервер), без перезагрузки страницы, пробовал через iframe, вопросов нет, все работает, но хотелось бы что то посвежее, трогать какие то "левые" библиотеки не хочется, так как нет уверенности что там все правильно, а менять код под себя долго и к тому же не могу похвастать большим опытом работы в JavaScript. Хотелось бы что то на подобии загрузки,как на AVITO.RU. Если кто знает, как там оно реализовано, то пожалуйста поделитесь. Знаю, что мой вопрос полнимался не один раз... НО! Хотелось бы, что бы вы поделились, как это делаете вы и как оно работает, какие минусы и плюсы и т.д. Заранее благодарен! P.S. Есть ли смысл отказываться от при загрузке iframe и переходить на Ajax или же это не оправданно и не так то уж древне? |
Боюсь разочаровать, но Ajax для старых (только для старых?) браузеров всё равно создает iframe.
Так что используйте библиотеки, гемороя с кроссбраузерностью будет меньше. Мне это плагин нравится http://malsup.com/jquery/form/#file-upload |
А вы не подскажите, почему на некоторых форумах написано, что через ajax передавать изображения не безопасно. Вернее через плагины и библиотеки?
|
Не знаю, что они там имели ввиду, но если на приемке не проверять файл на соответствие типу и формату (НЕ ТОЛЬКО ПО РАСШИРЕНИЮ!!!), то конечно, проблем не оберешься.
В частности я разбирал один из плагинов файлового менеджера (соль именно в ajax'е, а не поведени php), но там была проверка загружаемой картинки средствами php (gd2) на размер, что бы убедиться, что это действительно рисунок. А многие либо вообще не поставляют загрузчик на php, либо ограничиваются в нем копированием $_FILES без каких-то проверок на корректность загрузки. И таких большинство. Второе - в обработчике на приемку можно забыть поставить проверку прав текущего пользователя на загрузку, третье - ооочень неплохо положить в папку с загруженными файлами htaccess, запрещающий выполнение php. Так что если бездумно действовать, то накосячить можно как с плагинами и библиотеками, так и без них. |
плагин jquery forms не работает с загрузкой файлов(отправляет но ответ не приходит), а вот ajax fileupload https://github.com/valums/file-uploader действительно работает сам им пользуюсь
|
RAZVOR, ты про мою ссылку? Тогда ты не прав - всё работает!
|
Часовой пояс GMT +3, время: 08:42. |