|
|
|
| Пожет кто--нибудь знает такой скрипт:
Есть форма в которой можно загружать изображения. Нужно, что бы пользователь, нажимал на кнопку загрузки, выбирал несколько изображений, они загружались по AJAX, добавлялись в БД и выводились пользователю с возможностью удалить (ну и при редактировании статьи что бы все добавленные фотографии можно было бы тоже удалить).
Нашёл много разных скриптов, но все они очень громоздкие и их очень тяжело изменять (а без этого никуда :) ) | |
|
|
|
|
|
|
|
для: DEM
(21.04.2013 в 04:21)
| | через <input type="file"> можно выбрать и загрузить за один раз только один файл
все существующие мультизагрузки реализованы через технологию Flash | |
|
|
|
|
|
|
|
для: яса1
(21.04.2013 в 04:29)
| | яса1 - это клон или ребенок ЯСА? ) | |
|
|
|
|
|
|
|
для: confirm
(21.04.2013 в 04:40)
| | клон
в очередной раз удалил профиль, пароли потерял :( | |
|
|
|
|
|
|
|
для: яса1
(21.04.2013 в 04:29)
| | А что по поводу:
<input type="file" multiple>
? | |
|
|
|
|
|
|
|
для: DEM
(21.04.2013 в 04:41)
| | Это HTML5. | |
|
|
|
|
|
|
|
для: DEM
(21.04.2013 в 04:21)
| | К сказанному выше, еще то, что загрузка происходит как и обычно, а не посредством Ajax. | |
|
|
|
|
|
|
|
для: confirm
(21.04.2013 в 04:41)
| | Но как-то же это делают в различных CMS? | |
|
|
|
|
|
|
|
для: DEM
(21.04.2013 в 05:22)
| | А вы разбирались как?
Загрузка происходит обычным способом с использованием iframe, а Ajax лишь для диалога загрузки используется. Это вам кажется, что загружает именно он.
Текущая версия объекта, которая используется в Ajax не имеет поддержки загрузки файлов, то есть бинарные данные он не передает. Есть возможность это сделать, но не всеми браузерами это будет поддерживаться, да и заморочистая это работа на сервере
Другое дело HTML5. В нем можно получить бинарные данные как строку посредством метода getAsDataURL, который возвращает бинарные данные представленные строкой base64. Это позволит, например, сделать предпросмотр на клиенте, ну и отправить эти данные на сервер и текущей версией Ajax без проблем. На сервере декодировав base64 получите бинарное изображение. Правда изображение в base64, это будут данные в три раза больше по размеру, чем бинарные, и при множественной загрузке можно напороться на ограничения сервера.
Но и данное в HTML5 пока не всеми браузерами поддержано, например новый IE9 этого не может, не знаю как IE10. | |
|
|
|