.net mvc 上传多文件有很多种方式,我的方法只是其中一种, 仅供参考,我主要是注重参数传递的过程,后面文件保存的地方省略。。
调试环境 vs2017
控制器代码:
[HttpPost]
public ActionResult Upload(Int32 entityId, HttpPostedFileBase[] files)
{
for (int i = ; 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>