2012-01-12 3 views
4

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

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

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

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

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

Спасибо!

ответ

0

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

Особенности

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

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

Вот некоторые Осроена особенности:

  • отрывов
  • Drag/падение
  • PNG Изменить размер
  • JPEG Изменение размера
  • Тип фильтрации
  • поток загрузить
  • Multipart загрузить
  • файла ограничения размера
  • Загрузить прогресс
  • Пользовательские заголовки

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

  • флэш
  • Gears
  • HTML 5
  • Silverlight
  • BrowserPlus
  • HTML 4
Смежные вопросы