想必很多人工作中经常需要实现上传图片的功能。
先引用此插件/files/hmYao/jquery-form.js。
前台代码
<form data-ajax-success="AfterUpload" enctype="multipart/form-data" id="frm"><input type="file" name="fileBase" value=" " id="imgUpload" class="jiangli_1_w" /><input type="submit" id="btnSub" value="上传图片" /> <span class="flat_loe">上传图片宽度最大尺寸720px,高度无限制</span></form>
//上传图片$("#btnSub").click(function () {$("#frm").ajaxSubmit({url: "/Slide/UploadImage",type: "Post",success: AfterUpload});return false;});function AfterUpload(msg) {if (msg != "0") {$("#imgPath").removeAttr("src").attr("src", msg);} else {swal({title: "温馨提示",text: "图片格式有误"});$("#imgPath").val("");return false;}}
对应的后台代码如下:
/// <summary>/// 上传图片/// </summary>/// <param name="fileBase"></param>/// <returns></returns> [HttpPost]public ActionResult UploadImage(HttpPostedFileBase fileBase){string imgurl = string.Empty;string imgPath = System.IO.Path.GetFileName(fileBase.FileName);int index = imgPath.LastIndexOf('.');string suffix = imgPath.Substring(index).ToLower();if (suffix == ".jpg" || suffix == ".jpeg" || suffix == ".png" || suffix == ".gif" || suffix == ".bmp"){string pictureName = DateTime.Now.Ticks.ToString() + suffix; //图片名称string savePath = Server.MapPath("/Files/Images/SlideConfig/");//幻灯片文件夹if (!Directory.Exists(savePath)){Directory.CreateDirectory(savePath);}imgurl = "http://" + Request.Url.Authority + "//Files/Images/SlideConfig/" + pictureName;fileBase.SaveAs(savePath + pictureName);}else{imgurl = "0";}return Content(imgurl);}
有一点很重要,很多人都拿不到上传的路径值。注意参数的名称 需要和 file标签的name相同。
到此结束...