Простая кроссбраузерная загрузка файлов jQuery/PHP с индикатором выполнения [закрыто]
Я знаю, что есть несколько тем по этому поводу, но ни одна из них не предложила определенного решения для скрипта загрузки файлов, который:
- Работает на IE7+
- Имеет индикатор выполнения (в каждом браузере)
- Нет Вспышки (Или запасного варианта)
Какие-нибудь решения?
5 answers
Вы можете использовать Загрузчик осей Альбанксом. У него есть;
- Загрузка нескольких файлов во всех браузерах
- Выбор нескольких файлов в браузерах html5 (не IE)
- Загрузка информации о ходе работы в браузерах html5
- Информация о размере файла в браузерах html5
- Нет flash, нет Silverlight, на других плагинах, только JavaScript
- Поддержка IE 6+, Firefox 2+, Safari 2+, Chrome 1+
- Загружайте файлы по частям для повышения производительности
- Не зависит от максимальный размер публикации на сервере и ограничения на максимальный размер загружаемого файла
Вы также можете попробовать Отлично-Загрузчик путем расширения. У него есть;
- Выбор нескольких файлов, индикатор выполнения в FF, Chrome и Safari
- Выберите файл перетаскиванием в FF, Chrome и Safari (OS X)
- Загрузка может быть отменена
- Никаких внешних зависимостей вообще при использовании FineUploader или FineUploaderBasic. Если используется дополнительная оболочка jQuery, jQuery, конечно, требуемый.
- Для FineUploaderBasic требуется только соответствующий файл javascript Fine Uploader. Все прекрасные css-файлы загрузчика и файлы изображений могут быть опущены.
- Не использует Flash
- Полностью работает с HTTPS
- Протестировано в IE7+, Firefox, Safari (OS X), Chrome, IOS6 и различных версиях Android. IE10 теперь также поддерживается!
- Возможность загружать файлы, как только они выбраны, или "ставить" их в очередь для загрузки по запросу пользователя позже
- Отображать конкретную ошибку сообщения с сервера о сбое загрузки (наведите курсор на элемент "не удалось загрузить")
- Возможность автоматического повтора неудачных загрузок
- Опция, позволяющая пользователям вручную повторить неудачную загрузку
- Создайте свой собственный валидатор файлов и/или используйте некоторые валидаторы по умолчанию, включенные в Fine Uploader
- Получать обратный вызов на различных этапах процесса загрузки
- Отправляйте любые параметры на стороне сервера вместе с каждым файлом.
- Загрузка каталогов с помощью перетаскивания (Chrome 21+).
- Включить параметры в строке запроса ИЛИ теле запроса.
- Отправляйте файлы для загрузки через API.
- Разделите файл на несколько запросов (фрагментация/разделение файлов).
- Возобновить неудачную/остановленную загрузку с предыдущих сеансов
- Удалить загруженные файлы
- Поддержка CORS
- Загружайте любые объекты Blob-объектов через API.
- Легко устанавливать и применять максимальное ограничение на количество товаров.
- Загружайте изображения с помощью вставки (Chrome).
- Перетаскивание автономных файлов и папок модуль. Интегрирован по умолчанию в режим FineUploader.
- Выполнять асинхронные (неблокирующие) задачи в обратных вызовах, которые влияют на связанный файл или файлы
- Загрузка изображений непосредственно с камеры мобильного устройства
- Получение статистики для загруженных файлов и получение обратных вызовов при изменении статуса
- И многое другое!
Или jQuery-Плагин для загрузки файлов ( совместим с IE), который получил;
- Загрузка нескольких файлов: Позволяет выбрать несколько файлов одновременно и загружать их одновременно.
- Поддержка перетаскивания: Позволяет загружать файлы, перетаскивая их с рабочего стола или из файлового менеджера и помещая в окно браузера.
- Индикатор выполнения загрузки: Показывает индикатор выполнения, показывающий ход загрузки для отдельных файлов и для всех загрузок вместе взятых.
- Отменяемые загрузки: Загрузка отдельных файлов может быть отменена, чтобы остановить процесс загрузки.
- Возобновляемые загрузки: Прерванные загрузки могут быть возобновлены с помощью браузеры, поддерживающие API больших двоичных объектов.
- Фрагментированные загрузки: Большие файлы могут быть загружены небольшими порциями с помощью браузеров, поддерживающих API Blob.
- Изменение размера изображения на стороне клиента: Изображения могут быть автоматически изменены на стороне клиента с помощью браузеров, поддерживающих необходимые API JS.
- Предварительный просмотр изображений: Предварительный просмотр файлов изображений может быть отображен перед загрузкой с помощью браузеров, поддерживающих необходимые API JS.
- Никаких плагинов для браузера (например, Adobe Flash) не требуется: Реализация заключается в основан на открытых стандартах, таких как HTML5 и JavaScript, и не требует дополнительных плагинов для браузера.
- Изящный запасной вариант для устаревших браузеров: Загружает файлы через XMLHttpRequests, если поддерживается, и использует iframes в качестве запасного варианта для устаревших браузеров.
- Резервная форма загрузки HTML-файла: Показывает стандартную форму загрузки HTML-файла, если JavaScript отключен.
- Загрузка файлов между сайтами: Поддерживает загрузку файлов в другой домен с помощью межсайтовых XMLHttpRequests.
- Несколько плагинов экземпляры: Позволяет использовать несколько экземпляров плагина на одной веб-странице.
- Настраиваемый и расширяемый: Предоставляет API для установки отдельных параметров и определения методов обратного вызова для различных событий загрузки.
- Загрузка потока содержимого из нескольких частей и файлов: Файлы могут быть загружены как стандартные "составные/данные формы" или поток содержимого файла (загрузка файла HTTP PUT).
- Совместимость с любой серверной платформой приложений: Работает с любой серверной платформой (PHP, Python, Ruby on Rails, Ява, Node.js, Go и т.д.), который поддерживает стандартные загрузки файлов HTML-форм.
Ссылки
Выезд 10 Загрузка файла HTML5 с примером jQuery чтобы увидеть несколько отличных загрузчиков файлов, которые работают с HTML5
Кроме того, здесь на 10+ Учебные пособия по загрузке файлов PHP Ajax - Скачать бесплатно вы можете выбрать из множества загрузчиков.
Я думаю, что вам нужно следующее, они также поддерживают хорошую загрузку в IE с помощью компонента Flash
Http://www.plupload.com / доступен в нескольких средах выполнения и имеет плавную деградацию. Если поддерживается HTML5, он также может выполнять перетаскивание загрузок.
Используйте Это:
Http://valums.com/ajax-upload/
Никакой Вспышки, Простой Jquery.
Особенности
- выбор нескольких файлов, индикатор выполнения в FF, Chrome, Safari
- перетаскивание файла выберите в FF, Chrome
- загрузка может быть отменена
- никаких внешних зависимостей
- не использует Flash
- полностью работает с https
- поддержка клавиатуры в FF, Chrome, Safari
- протестировано в IE7,8; Firefox 3,3.6,4; Safari4,5; Chrome; Opera10.60;
Мерзавец: https://github.com/valums/file-uploader
Вы также можете использовать эти:
Http://nixboxdesigns.com/demos/jquery-uploadprogress.php
Https://github.com/drogus/jquery-upload-progress
Прогресс IE без вспышки бар
Http://www.webappers.com/2011/01/24/jquery-file-upload-with-upload-progress-bar/
Надеюсь, это поможет.
Для поддержки индикатора выполнения и многократной загрузки файлов в IE требуется Flash. К сожалению, ни один из новых виджетов "яркий, но без вспышки" не поддерживает это.
Единственное решение, которое я нашел, - это Uploadify, которое не идеально, но выполняет свою работу. Самым большим недостатком является отсутствие поддержки перетаскивания.
Честно говоря, все эти новые виджеты намного лучше, но разработчики, к сожалению, выступают против внедрения резервного решения во Flash для IE.