Какие-либо предложения?
Возможно, что-то очень интерактивное, что я могу выбрать несколько файлов. Спасибо!
Какие-либо предложения?
Возможно, что-то очень интерактивное, что я могу выбрать несколько файлов. Спасибо!
Загрузка файлов с помощью Ajax невозможна из соображений безопасности. Существует обходной путь с публикацией файлов в iframe, но вы не можете выбрать несколько файлов таким образом.
Решение кроется во флеше. Двумя наиболее распространенными загрузчиками флэш-памяти являются:
swfupload — http://swfupload.org/
uploadify — http://www.uploadify.com/ (только jQuery)
plupload — http://www.plupload.com/
поддерживает несколько загрузок в каждом типе, кроме базового html4
Позволяет загружать файлы с использованием HTML5, Gears, Flash, Silverlight, BrowserPlus или в обычном формате HTML4.
Другой вариант — Uber-Uploader. Я использовал его, и он хорошо работает с индикатором выполнения.
Или вы можете использовать класс System.Web.UI.WebControls.FileUpload в Asp.Net.
На данный момент я бы держался подальше от флеш-плагинов. Я бы использовал загрузчик HTML5 вместо этого: загрузчик значений
Конечно, вы сможете выбрать несколько файлов только в современных браузерах, иначе - это будет файл за файлом. но эй - если человек не заботится об обновлении до более новых браузеров - он, вероятно, все равно не знает, как щелкнуть Ctrl + щелчок.
Flash неправильно отправляет файлы cookie (он отправляет файлы cookie IE, даже если вы используете Firefox или Google Chrome). Итак, вы потеряете файлы cookie и, следовательно, сеансы. Есть обходной путь — отправлять PHPSESSID в POST-запросах — но он просто открывает дверь настежь для фиксации сеанса.