form表單一次上傳多種類型的圖片(每種類型的圖片可以上傳多張)
controller中的action方法
public ActionResult UploadImage( ) { int imageType=(int)Request.Form["ImageType"]; //整體圖片集合 IList<HttpPostedFileBase> wholePictureIList = Request.Files.GetMultiple("WholePicture");//HttpPostedFileBase:充當類的基類,這些類提供對客戶端上傳的文件的單獨訪問;Request.Files.GetMultiple(string name):返回與name匹配的所有文件 //周邊圖片集合 IList<HttpPostedFileBase> AroundSupportPictureIList = Request.Files.GetMultiple("AroundSupportPicture"); if (wholePictureIList[0].FileName != "") { foreach (var item in wholePictureIList) { byte[] b = new byte[item.ContentLength]; item.InputStream.Read(b, 0, item.ContentLength); model.WholePicture.Add(b);//model.WholePicture是byte[]的集合,即圖片的流文件,可以存到數據庫中 } } if (AroundSupportPictureIList[0].FileName != "") { foreach (var item in AroundSupportPictureIList) { byte[] b = new byte[item.ContentLength]; item.InputStream.Read(b, 0, item.ContentLength); model.AroundSupportPicture.Add(b); } } int userId = (int)Session["UserId"]; ManageParkPediaService service = new ManageParkPediaService(); StateInfo<int> infoT = service.SaveImage(model, userId); return Json(infoT); }
view中的代碼
引入<script src="~/Scripts/jquery.form.js"></script>
<script type="text/javascript"> //上傳圖片 function uploadImage() { $('#fileForm').ajaxSubmit({ success: function (msg) { console.log(msg); } }); } </script> <form id="fileForm" method="post" action="http://localhost:38594/UploadImage/SaveImageResult" enctype="multipart/form-data"> <input type="text" name="ImageType" id="ImageType" value="1" /> <input type="file" name="WholePicture" id="WholePicture" readonly multiple /> <input type="file" name="AroundSupportPicture" id="AroundSupportPicture" readonly multiple /> <input type="button" onclick="uploadImage()" value="上傳圖片" /> </form>