Загрузка больших файлов с помощью чистого HTML и MVC 3 - PullRequest
4 голосов
/ 12 января 2012

У меня есть приложение, которое позволяет пользователям загружать файлы.Некоторые из этих файлов могут быть довольно большими.Из-за этого я хочу разделить файл на части (если это возможно) и отслеживать ход его загрузки.В настоящее время у меня есть базовая HTML-форма, которая отправляется обратно на мой контроллер MVC

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult UploadFile(IEnumerable<HttpPostedFileBase> files)
{
  // Save file here.
  HttpStatusCodeResult result = new HttpStatusCodeResult(200);
  return result;
}

. Этот подход позволяет мне загрузить файл.Тем не менее, этот подход является единственной операцией.Мне нужно начинать загрузку и следить за ее ходом.Uploadify не будет работать в моем случае, потому что он использует Flash.У меня строгое требование без Flash.

Я открыт для гибридного подхода, в котором, если браузер пользователя поддерживает HTML 5, я бы использовал File API, в противном случае я бы использовал свой текущий подход.Тем не менее, даже с HTML 5 я не уверен, как начать загрузку и контролировать ее ход.

Может ли кто-нибудь мне помочь?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 12 января 2012

У меня был хороший опыт работы с Plupload . Он хорошо работает и с пользовательским интерфейсом jQuery.

Вот некоторые выделенные функции:

  • Chunking
  • Drag / Drop
  • PNG Resize
  • Изменение размера JPEG
  • Тип фильтрации
  • Потоковая загрузка
  • Многокомпонентная загрузка
  • ограничение размера файла
  • Процесс загрузки
  • Пользовательские заголовки

Он поддерживает следующие плагины / технологии для почти полного использования разных браузеров (с различной степенью поддержки функций):

  • Вспышка
  • Gears
  • HTML 5
  • Silverlight
  • BrowserPlus
  • HTML 4
0 голосов
/ 12 января 2012

Вы можете взглянуть на Значения загрузки AJAX .Лично я использовал это много раз и очень доволен.

Особенности

  • выбор нескольких файлов, индикатор выполнения в FF, Chrome, Safari
  • выбор файла перетаскивания в FF, Chrome
  • загрузка может быть отменена
  • без внешних зависимостей
  • не использует Flash
  • полностью работает с поддержкой https
  • клавиатуры в FF, Chrome, Safari
  • протестировано в IE7,8;Firefox 3,3,6,4;Safari4,5;Хром;Opera10.60;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...