Как использовать пакет plupload с ASP.NET MVC?

Я использую версию plupload 1.3.0

Более конкретно, как я должен определить действие моего controllerа для поддержки chunking? Могу ли я использовать HttpPosteFileBase в качестве параметра?

На данный момент я использую следующий код для инициализации плагина

В теге HEAD

 <link type="text/css" rel="Stylesheet" media="screen" href="" /> <link type="text/css" rel="Stylesheet" media="screen" href="" /> <script type="text/javascript" src=""> <script type="text/javascript" src=""> <script type="text/javascript" src=""> 

Готовый документ

 $("#uploader").pluploadQueue({ runtimes: 'html5,html4,gears,flash,silverlight', url: '', max_file_size: '5mb', chunk_size: '1mb', unique_names: true, filters: [ { title: "Documenti e Immagini", extensions: "doc,docx,xls,xlsx,pdf,jpg,png" } ], multiple_queues: false }); 

Ну вот:

 [HttpPost] public ActionResult Upload(int? chunk, string name) { var fileUpload = Request.Files[0]; var uploadPath = Server.MapPath("~/App_Data"); chunk = chunk ?? 0; using (var fs = new FileStream(Path.Combine(uploadPath, name), chunk == 0 ? FileMode.Create : FileMode.Append)) { var buffer = new byte[fileUpload.InputStream.Length]; fileUpload.InputStream.Read(buffer, 0, buffer.Length); fs.Write(buffer, 0, buffer.Length); } return Content("chunk uploaded", "text/plain"); } 

Этот метод будет вызываться несколько раз для каждого fragmentа и для каждого загружаемого файла. Он будет передавать в качестве параметра размер блока и имя файла. Я не уверен, можно ли использовать параметр HttpPostedFileBase как параметр действия, потому что имя не является детерминированным.

Смотри сюда:

 $("#uploader").pluploadQueue({ // General settings runtimes: 'silverlight', url: '/Home/Upload', max_file_size: '10mb', chunk_size: '1mb', unique_names: true, multiple_queues: false, // Resize images on clientside if we can resize: { width: 320, height: 240, quality: 90 }, // Specify what files to browse for filters: [ { title: "Image files", extensions: "jpg,gif,png" }, { title: "Zip files", extensions: "zip" } ], // Silverlight settings silverlight_xap_url: '../../../Scripts/upload/plupload.silverlight.xap' }); // Client side form validation $('form').submit(function (e) { var uploader = $('#uploader').pluploadQueue(); // Files in queue upload them first if (uploader.files.length > 0) { // When all files are uploaded submit form uploader.bind('StateChanged', function () { if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) { $('form')[0].submit(); } }); uploader.start(); } else { alert('You must queue at least one file.'); } return false; }); 

И в controllerе:

 [HttpPost] public string Upload( ) { HttpPostedFileBase FileData = Request.Files[0]; if ( FileData.ContentLength > 0 ) { var fileName = Path.GetFileName( FileData.FileName ); var path = Path.Combine( Server.MapPath( "~/Content" ), fileName ); FileData.SaveAs( path ); } return "Files was uploaded successfully!"; } 

Вот и все … В controllerе нет куска …

Interesting Posts

Заглавие первого слова предложения в строке с несколькими предложениями

Странное поведение с const_cast

Какова роль content_main.xml в android studio 1.4?

Загрузка пользовательских файлов конфигурации

Как программировать входящие вызовы в Android 5.0 (Lollipop)?

Зачем использовать именованные функциональные выражения?

Как запустить пакетный скрипт без использования расширения * .bat

«ПРЕДУПРЕЖДЕНИЕ: предварительные заголовки отображаются» в отладчике Chrome

ASP.NET-controller: asynchronous модуль или обработчик завершен, пока асинхронная операция все еще находится на рассмотрении

Как выполнить несколько операторов SQL из java

Принудительное приложение iphone для программной перезагрузки

Как сохранить / вставить каждый DStream в постоянную таблицу

Возможно ли, что твердотельные накопители (или любой более быстрый привод) ускорят работу обычных приложений, даже если они будут кэшированы?

Каким образом исключения C ++ замедляют работу кода, если нет исключений?

Как я могу определить, какой пользователь в настоящее время входит в систему Windows 7?

Давайте будем гением компьютера.