ASP.NET MVC 4 – Session + Plupload – Queue Widget ( NuGet ) 方法
/Controllers/PluploadController.cs |
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace CRMPortal.Controllers { public class PluploadController : Controller { … … public ActionResult DocForm() { return View(); } public ActionResult DocUpload(FormCollection collection, HttpPostedFileBase file) { List<String> list; if (collection != null && file != null) { if (System.Web.HttpContext.Current.Session["_SessionDocFile"] != null) list = System.Web.HttpContext.Current.Session["_SessionDocFile"] as List<String>; else list = new List<string>(); list.Add(collection["name"]); file.SaveAs(Server.MapPath("~/Images/plupload/") + file.FileName); System.Web.HttpContext.Current.Session["_SessionDocFile"] = list; } return View(); } public ActionResult DocResult() { List<String> list = System.Web.HttpContext.Current.Session["_SessionDocFile"] as List<String>; System.Web.HttpContext.Current.Session["_SessionDocFile"] = null; return View(list); } } } |
/Views/Plupload/DocForm.cshtml |
<link type="text/css" rel="stylesheet" href="/Scripts/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css" media="screen" /> <script type="text/javascript" src="/Scripts/jquery-1.8.2.min.js" charset="UTF-8"></script> <script type="text/javascript" src="/Scripts/plupload/plupload.full.min.js" charset="UTF-8"></script> <script type="text/javascript" src="/Scripts/plupload/jquery.plupload.queue/jquery.plupload.queue.min.js" charset="UTF-8"></script> <div id="uploader"> <p>Your browser doesn’t have Flash, Silverlight or HTML5 support.</p> </div> <script type="text/javascript"> $(function () { $("#uploader").pluploadQueue({ runtimes: "html5,silverlight,flash,html4", url: "/Plupload/DocUpload", chunk_size: "1mb", rename: true, dragdrop: true, filters: { max_file_size: "10mb", mime_types: [ { title: "Image files", extensions: "jpg,gif,png" }, { title: "Zip files", extensions: "zip" } ] }, resize: { width: 320, height: 240, quality: 90 }, init: { UploadComplete: function () { window.location = "@(Url.Action("DocResult"))"; } }, flash_swf_url: "/Scripts/plupload/Moxie.swf", silverlight_xap_url: "/Scripts/plupload/Moxie.xap" }); }); </script> |
/Views/Plupload/DocUpload.cshtml |
|
/Views/Plupload/DocResult.cshtml |
@model List<String> @{ } <h2>Document Result</h2> @foreach (String item in Model) { <div>@(item)</div> } |