MVC表單
優點:學習成本低;操作方便無需額外代碼;
缺點:外觀一般;無法實時查看上傳的效果;
中性:同步上傳;
<!--CSHTML: 一定不要少了enctype = "multipart/form-data",否則,控制器收不到文件 --> @using (Html.BeginForm("#Uploader_Save","#控制器名稱",FormMethod.Post, new { enctype = "multipart/form-data" })) { <input type="file" name="file" id="file" class="form-control" onchange='$("#File_Name").val(getFileName(this.value))' /> }
//控制器 public class 控制器Controller:Controller { [HttpGet] public ActionResult Uploader(Guid? Id) { return View(model); } [HttpPost] public ActionResult Uploader_Save(Guid? Id, HttpPostedFileBase file) { return JavaScript("dialog.close();"); } }
AJAXFileuploader
優點:jQuery系操作方便;
缺點:代碼相對多了點;要額外學習jQuery;外觀一般;
中性:異步上傳;
$.ajaxFileUpload({ type: 'post', url: 'Upload_Save', fileElementId: "file",//<input type=file id=file name=file/> dataType: "json", data: { "Id": "" } , success: function (dd) { } , error: function (status, responseText) { } });
webuploader
優點:外觀好看;中文文檔;
缺點:代碼相對多了點;要額外學習該插件;
中性:異步上傳;
var opt = { auto: true, //自動上傳 swf: '/Content/scripts/plugins/webuploader/uploader.swf', //SWF路徑 server: '/Uploader_Save'), //上傳地址 pick: { id: document.getElementById('file'), multiple: false }, //accept: { // title: 'Images', // extensions: 'jpg,jpge,png,gif', // mimeTypes: 'image/*' //}, formData: { 'Id': '' //定義參數 }, fileVal: 'file', //上傳域的名稱 duplicate: duplicate, //允許重復上傳 //fileSingleSizeLimit: 2048 * 1024 //文件大小 }; var uploader = WebUploader.create(opt);