.net mvc 上传多文件有很多种方式,我的方法只是其中一种, 仅供参考,我主要是注重参数传递的过程,后面文件保存的地方省略。。
调试环境 vs2017
控制器代码:
[HttpPost] public ActionResult Upload(Int32 entityId, HttpPostedFileBase[] files) { for (int i = 0; i < Request.Files.Count; i++) { files[i] = Request.Files[i]; }
//这里得到了 HttpPostedFileBase[] files
return JsonOK("成功");
}
js代码
<script> $("#btnok").click(function () { var file = new FormData(); var pic = $('#files')[0].files; for (i = 0; i < pic.length; i++) { console.log(pic[i]) file.append('files', pic[i]); } //file.append('entityId',@id); 除了上传文件之外 上传的别的参数 $.ajax({ url: "/../Upload",//这里是控制器加方法名 data: file, type: 'post', datatype: 'json', // XMLHttpRequest会对 formdata 进行正确的处理 processData: false, //必须false才会自动加上正确Content-Type contentType: false, success: function (data) { console.log(data); } }) }); </script>
html代码
<div> <input type="file" name="files" class="file" id="files" size="28" multiple /> <input id="btnok" class="cube-file" type="button" value="上传"/> </div>