public ActionResult UploadFile() { HttpFileCollectionBase files = Request.Files; if (files.Count == 0) { Response.Write("请勿直接访问本文件"); Response.End(); return(Content("请勿直接访问本文件")); } string dName = "/UserFile"; string path = Server.MapPath(dName); string userid = Request.Form["userid"]; string bookid = Request.Form["bookid"]; try { // 只取第 1 个文件 HttpPostedFileBase file = files[0]; if (file != null && file.ContentLength > 0) { string fileName = Request.Form["fileName"]; string orgFileName = fileName ?? string.Empty; string[] fileNameInfo = fileName.Split('.'); string extendName = ".jpg"; if (fileNameInfo.Length > 1) { extendName = "." + fileNameInfo[fileNameInfo.Length - 1]; } int intRandom = (new Random()).Next(10000, 99999); string strTimeNow = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString(); fileName = strTimeNow + intRandom.ToString(); string theFileName = fileName; string vPath = dName + "/" + userid + "/OriginalImage/" + fileName + ".jpg"; if (!Directory.Exists(path + "/OriginalImage")) { Directory.CreateDirectory(path + "/" + userid + "/OriginalImage"); } string strOriginalUrl = path + "/" + userid + "/OriginalImage/" + fileName + extendName; file.SaveAs(strOriginalUrl); //string mad5String = MD5HashFile.GetMD5HashFromFile(strOriginalUrl); fileName = path + "/" + userid + "/" + fileName; System.Drawing.Image originalImage = System.Drawing.Image.FromFile(strOriginalUrl); Bitmap bitmap = new Bitmap(originalImage); IList <Inpinke_ImageScale> list = DBImageScaleBLL.GetAllImageScaleSize(); if (list != null) { foreach (Inpinke_ImageScale s in list) { if (s.GroupID == 1) { ImageProcessBLL.CreateStaticScaleImage(bitmap, s.Width, s.Height, 1000, fileName + s.PlusName + ".jpg"); } else { ImageProcessBLL.CreateScaleImage(bitmap, s.Width, s.Height, fileName + s.PlusName + ".jpg", s.IsScale); } } } else { ImageProcessBLL.CreateScaleImage(bitmap, 80, 80, fileName + "_thumb.jpg", false); ImageProcessBLL.CreateScaleImage(bitmap, 2400, 2400, fileName + "_print.jpg", true); ImageProcessBLL.CreateScaleImage(bitmap, 600, 600, fileName + "_edit.jpg", true); } originalImage.Dispose(); bitmap.Dispose(); Inpinke_Image model = new Inpinke_Image() { UserID = int.Parse(userid), Path = vPath, OriginalName = orgFileName.Length > 150 ? orgFileName.Substring(0, 150) : orgFileName, ImageName = theFileName, HashCode = MD5HashFile.GetMD5HashFromFile(strOriginalUrl), UsedNum = 0 }; BaseResponse br = DBImageBLL.AddUserImage(model); string result = string.Empty; if (br.IsSuccess) { if (!string.IsNullOrEmpty(bookid)) { Inpinke_Book_Image bImg = new Inpinke_Book_Image() { UsedNum = 0, ImageID = model.ID, BookID = int.Parse(bookid) }; DBImageBLL.AddBookImage(bImg); } result = "{success:true,image:{id:" + model.ID + ",name:\"" + model.ImageName + "\",path:\"" + model.Path + "\"}}"; } else { result = "{success:false,msg:\"" + br.Message + "\"}"; } return(Content(result)); } else { return(Content("{success:false,msg:\"上传内容为空\"}")); } } catch (Exception ex) { Logger.Error(string.Format("UploadFile UserID:{0}, Error{1}", userid, ex.ToString())); return(Content("{success:false,msg:\"上传出错,请稍后再试\"}")); } }