Простой кросс-браузер, загрузка файла jQuery / PHP с индикатором выполнения

Я знаю, что здесь есть несколько тем, но ни один из них не предложил определенного решения для сценария загрузчика файлов, который:

  1. Работает на IE7 +
  2. Имеет индикатор выполнения (в каждом браузере)
  3. Нет Flash (или резервный)

Любые решения?

Вы можете использовать Axuploader от AlbanX. У него есть;

  • Загрузка нескольких файлов во все браузеры
  • Выбор нескольких файлов в браузерах html5 (не в IE)
  • Загрузите информацию о ходе работы в html5-браузерах
  • Информация о размере файла в html5 браузерах
  • Нет вспышки, нет Silverlight, на других плагинах, только JavaScript
  • Поддержка IE 6+, Firefox 2+, Safari 2+, Chrome 1+
  • Загружайте файлы куском, для большей производительности
  • Не зависит от размера максимального размера сервера и максимальных ограничений размера загружаемого файла

Вы также можете попробовать Fine-Uploader от Widen. У него есть;

  • Множественный выбор файла, индикатор выполнения в FF, Chrome и Safari
  • Перетаскивание файла в FF, Chrome и Safari (OS X)
  • Загрузки отменены
  • Никаких внешних зависимостей при использовании FineUploader или FineUploaderBasic. При использовании необязательной обертки jQuery, конечно, требуется jQuery.
  • Для FineUploaderBasic требуется только связанный файл javascript. Все файлы и файлы изображений Fine Uploader могут быть опущены.
  • Не использует Flash
  • Полная работа с HTTPS
  • Протестировано в IE7 +, Firefox, Safari (OS X), Chrome, IOS6 и различных версиях Android. IE10 теперь также поддерживается!
  • Возможность загрузки файлов сразу после их выбора или «очереди» для загрузки по запросу пользователя позже
  • Отображать конкретные сообщения об ошибках с сервера при сбое загрузки (наведите указатель мыши на неработающий элемент загрузки)
  • Возможность автоматического повторного загрузки неудачных загрузок
  • Возможность разрешить пользователям вручную повторить попытку загрузки
  • Создайте свой собственный валидатор файлов и / или используйте некоторые валидаторы по умолчанию, включая Fine Uploader
  • Получать обратный вызов на разных этапах процесса загрузки
  • Отправляйте любые параметры на стороне сервера вместе с каждым файлом.
  • Загрузка каталогов с помощью перетаскивания (Chrome 21+).
  • Включите параметры в строку запроса ИЛИ тело запроса.
  • Отправьте файлы, которые будут загружены через API.
  • Разделите файл на несколько запросов (фрагментация / разбиение файлов).
  • Возобновление сбой / прекращение загрузки с предыдущих сеансов
  • Удалить загруженные файлы
  • Поддержка CORS
  • Загрузите любые объекты Blob через API.
  • Легко установить и обеспечить максимальный лимит.
  • Загружайте изображения через вставку (Chrome).
  • Автономный файл и папка перетаскивания модуля. Интегрировано по умолчанию в режим FineUploader.
  • Выполнять async (неблокирующие) задачи в обратных вызовах, которые влияют на связанный файл или файлы
  • Загрузка изображений непосредственно с камеры мобильного устройства
  • Получение статистики для загруженных файлов и получение обратных вызовов при изменении статуса
  • И еще много!

Добавлен плагин jQuery-File-Upload (совместимый с IE);

  • Многократная загрузка файлов. Позволяет одновременно выбирать несколько файлов и загружать их одновременно.
  • Поддержка Drag & Drop: позволяет загружать файлы, перетаскивая их со своего рабочего стола или файлового менеджера и отбрасывая их в окне браузера.
  • Индикатор выполнения: показывает индикатор выполнения, показывающий ход загрузки для отдельных файлов и для всех загружаемых файлов.
  • Отменные загрузки: отдельные загрузки файлов могут быть отменены, чтобы остановить процесс загрузки.
  • Возобновляемые загрузки: отмененные загрузки могут быть возобновлены с помощью браузеров, поддерживающих API Blob.
  • Выгруженные загрузки: большие файлы могут быть загружены в более мелкие куски с браузерами, поддерживающими API Blob.
  • Изменение размера изображения на стороне клиента: изображения могут быть автоматически изменены на стороне клиента с помощью браузеров, поддерживающих требуемые API-интерфейсы JS.
  • Предпросмотр изображений: предварительный просмотр файлов изображений может отображаться перед загрузкой в ​​браузерах, поддерживающих требуемые JS API.
  • Плагинов для браузера (например, Adobe Flash) не требуется: реализация основана на открытых стандартах, таких как HTML5 и JavaScript, и не требует дополнительных плагинов для браузера.
  • Изящный откат для устаревших браузеров: загружает файлы через XMLHttpRequests, если поддерживается, и использует iframe как резерв для устаревших браузеров.
  • Форма загрузки файла HTML: показывает стандартную форму загрузки HTML-файла, если JavaScript отключен.
  • Загрузка файлов с несколькими сайтами: поддержка загрузки файлов в другой домен с помощью XMLHttpRequests.
  • Несколько экземпляров плагина. Позволяет использовать несколько экземпляров плагина на одной и той же веб-странице.
  • Настраиваемый и расширяемый: предоставляет API для установки отдельных параметров и определения методов callBack для различных событий загрузки.
  • Загрузка многостраничных файлов и файлов: файлы могут быть загружены как стандартные «multipart / form-data» или поток содержимого файла (загрузка HTTP PUT-файла).
  • Совместимость с любой серверной платформой приложений: работает с любой серверной платформой (PHP, Python, Ruby on Rails, Java, Node.js, Go и т. Д.), Которая поддерживает стандартные загрузки файлов в формате HTML.

*ОБНОВИТЬ

Отметьте 10 Загрузка файла HTML5 с помощью jQuery Пример, чтобы увидеть отличные загрузчики файлов, которые работают с HTML5

Кроме того, здесь, в 10+ PHP Ajax Upload File Tutorials – Бесплатная загрузка, которую вы можете выбрать из множества пользователей.

Надеюсь это поможет.

Я думаю, что вам нужно то, что вам нужно, они также поддерживают продвинутую загрузку в IE с помощью Flash-компонента

http://www.plupload.com/ доступен в нескольких режимах работы и имеет изящную деградацию. Если поддерживается HTML5, он также может выполнять перетаскивание и пересылку.

Использовать это:

http://valums.com/ajax-upload/

Нет Flash, простой JQuery.

Особенности

  1. множественный выбор файла, индикатор выполнения в FF, Chrome, Safari
  2. drag-and-drop файл выбрать в FF, Chrome
  3. заказы отменяются
  4. нет внешних зависимостей
  5. не использует Flash
  6. полностью работает с https
  7. поддержка клавиатуры в FF, Chrome, Safari
  8. протестирован в IE7,8; Firefox 3,3,6,4; Safari4,5; Хром; Opera10.60;

git: https://github.com/valums/file-uploader

Вы также можете использовать их:

http://nixboxdesigns.com/demos/jquery-uploadprogress.php

https://github.com/drogus/jquery-upload-progress

http://www.albanx.com/

Flash-индикатор IE

http://www.webappers.com/2011/01/24/jquery-file-upload-with-upload-progress-bar/

Надеюсь это поможет.

Для поддержки индикатора выполнения и для загрузки нескольких файлов в IE требуется Flash. К сожалению, ни один из новых, «ярких, но бесперспективных» виджетов не поддерживает это.

Единственное решение, которое я нашел, это Uploadify , что не идеально, но делает работу. Самый большой откат – отсутствие поддержки перетаскивания.

Честно говоря, все эти новые виджеты намного лучше, но разработчики, к сожалению, возражают против реализации резервного решения во Flash для IE.