有没有一个很好的例子,如何在asp.net mvc上传多个图像文件?我知道我们可以使用HttpPostedFileBase上传一个文件.有没有办法通过点击一个按钮上传多个文件?
我以前在webform中的ajaxtoolBox中使用文件上传,就像它的工作原理一样.在MVC中有类似的方法吗?还是现在的控制能做得好吗?免费控制更好,但它是确定,即使它花费一些$.
谢谢
解决方法
使用这个
jQuery plugin
<input type='file' multiple id='fileUpload' name="files[]" data-url="@Url.Action("Upload","Home")" />
(除了IE9,不允许在选择对话框中选择多个文件)
添加一些JavaScript:
$(function () { $('#fileUpload').fileupload({ dataType: 'json',done: function (e,data) { $.each(data.result.files,function (index,file) { $('<p/>').text(file.name).appendTo(document.body); }); } }); });
在控制器操作中,只需检查Request.Files,然后执行所需的任何操作.
这是一个很好的documentation
[HttpPost] public JsonResult Upload() { foreach (var file in Request.Files) { if(file.ContentLength > 0) { file.SaveAs(Server.MapPath("~/Upload/" + file.FileName)); } } return Json(new { result = true }); }