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


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

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

Какие-нибудь решения?

Author: blasteralfred Ψ, 2012-05-07

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 - Скачать бесплатно вы можете выбрать из множества загрузчиков.

 39
Author: blasteralfred Ψ, 2018-04-13 22:11:49

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

 1
Author: user1335639, 2012-08-14 12:29:32

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

 0
Author: Scott Weinert, 2012-05-08 17:26:01

Используйте Это:

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

Никакой Вспышки, Простой Jquery.

Особенности

  1. выбор нескольких файлов, индикатор выполнения в FF, Chrome, Safari
  2. перетаскивание файла выберите в FF, Chrome
  3. загрузка может быть отменена
  4. никаких внешних зависимостей
  5. не использует Flash
  6. полностью работает с https
  7. поддержка клавиатуры в FF, Chrome, Safari
  8. протестировано в 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

Http://www.albanx.com/

Прогресс IE без вспышки бар

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

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

 0
Author: AlphaMale, 2012-06-24 18:55:06

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

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

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

 -1
Author: Alex Neth, 2012-07-14 23:01:44