Jquery.data数据缓存,存储上传的文件,供保存时一并提交
<div id="sto"> <input type="file" onchange="upload(this)" multiple> </div> <script type="text/javascript"> function upload(obj) { var o = {}; o["isa"] = true; o["desc"] = "这是情况说明"; o["files"] = obj.files; $("#sto").data("myo", o); $("#sto").empty(); var f = $("#sto").data("myo"); var formData = new FormData(); formData.append("isa", f.isa); formData.append("desc", f.desc); for (var i = 0; i < f.files.length; i++) { formData.append("upfile", f.files[i]); } $.ajax({ url: "/Home/uploadfile", type: "POST", data: formData, cache: false, //不设置缓存 processData: false, // 不处理数据 contentType: false, // 不设置内容类型 success: function (data) { alert("上传了" + data.a + "个文件。"); } }); } </script>
[HttpPost] public ActionResult uploadfile(IEnumerable<HttpPostedFileBase> upfile,bool? isa,string desc) { return Json(new { a = upfile.Count()}); }