/// <summary> /// 保存文件 返回对象 /// </summary> /// <param name="file"></param> /// <returns></returns> public UserPictureFile SavePostedFile(HttpPostedFile file) { byte[] btImgs = new byte[file.ContentLength]; file.InputStream.Read(btImgs, 0, btImgs.Length); ///压缩图片 System.Drawing.Image original_image = System.Drawing.Image.FromStream(file.InputStream); //使用流创建图片 int width = original_image.Width; //图片的宽度 int height = original_image.Height; //图片的高度 ComputWidthHeight(ref width, ref height); System.Drawing.Image newImg = PictureFileConverter.GetThumbnailImage("", width, height, file.InputStream); byte[] newBytes = PictureFileConverter.ImageToByteArray(newImg, System.Drawing.Imaging.ImageFormat.Jpeg); string fileBase64Str = Convert.ToBase64String(newBytes); newImg.Dispose(); //释放 file.InputStream.Dispose(); //释放 original_image.Dispose(); //释放 ///压缩图片 结束 UserPictureFile model = new UserPictureFile(); model.FileContent = fileBase64Str; model.Extension = file.ContentType; model.FileName = file.FileName; model.OperatorId = string.Empty; model.PictureFileNo = DateTime.Now.ToString("yyyyMMddHHmmssfff") + ThreadSafeRandom.Next(1000).ToString("000"); InsertPicFile(model); return(model); }
public ImageModel GetPic(int width, int height, string pictureFileNo, string type) { //如果图片不存在的错误---- string filecontent = string.Empty; string picExtension = string.Empty; try { switch (type) { case "1": ProductPictureFile model = DapperUtil.QueryByIdentityWithNoLock <ProductPictureFile>(pictureFileNo); filecontent = model.FileContent; picExtension = model.Extension; break; case "2": SystemPictureFile model2 = DapperUtil.QueryByIdentityWithNoLock <SystemPictureFile>(pictureFileNo); filecontent = model2.FileContent; picExtension = model2.Extension; break; case "3": UserPictureFile model3 = DapperUtil.QueryByIdentityWithNoLock <UserPictureFile>(pictureFileNo); filecontent = model3.FileContent; picExtension = model3.Extension; break; } } catch (Exception) { return(new ImageModel()); } Image outImage = PictureFileConverter.GetThumbnailImage(filecontent, width, height); ImageModel imgModel = new ImageModel { Extension = picExtension, Image = outImage }; return(imgModel); }
public void InsertPicFile(UserPictureFile model) { DapperUtil.Insert <UserPictureFile>(model); }
private Dictionary <string, string> CheckOrSaveExperienceReportImg(Boolean isSave = false, Boolean notcheck = false) { #region 图片上传与检测 Dictionary <string, string> result = new Dictionary <string, string>(); result["success"] = ""; result["error"] = ""; HttpFileCollection Files = System.Web.HttpContext.Current.Request.Files; int fileCount = 0; if (Files != null && Files.Count > 0)// && Files[0].ContentLength > 0) { List <string> indexes = new List <string>(); string types = null;// AppSettingManager.AppSettings["InputUserCommentImgType"]; string[] allowTypes = string.IsNullOrEmpty(types) ? (new string[] { ".jpg", ".gif", ".png", ".jpeg" }) : (types.Split('/')); //允许上传的大小 , 以字节为单位 , 稍后读取配置文件 int allowSize = 4 * 1024 * 1024; for (int i = 0; i < Files.Count; i++) { if (indexes.Contains(i.ToString()) || Files[i].ContentLength == 0) { continue; } string fileFullName = Files[i].FileName; string fileType = System.IO.Path.GetExtension(fileFullName).ToLower(); string fileName = Path.GetFileName(fileFullName); ImageTypeEnum[] allowType = new ImageTypeEnum[] { ImageTypeEnum.JPG, ImageTypeEnum.PNG, ImageTypeEnum.GIF }; if (notcheck || allowTypes.Contains(fileType) && (allowType.Contains(ImageTypeCheck.CheckImageType(Files[i].InputStream, false)))) { int conLen = Files[i].ContentLength; if (conLen <= allowSize && conLen > 0)//需要保存时 { if (fileCount == 3) { result["error"] = "上传图片数量最多为3张"; return(result); } fileCount++; if (!isSave) { continue; } UserPictureFile model = new UserPictureFile(); //读取文件为 二进制流 , 保存到 图片表 , 返回 图片编号 model = productCommentService.SavePostedFile(Files[i]); result["success"] = result["success"] + "|" + model.PictureFileNo; } else if (conLen > allowSize) { result["error"] = "上传文件长度超过4MB"; return(result); } } else { result["error"] = "上传文件类型错误"; return(result); } } } else { result["success"] = ""; } if (fileCount == 0) { result["success"] = ""; result.Add("noimg", "noimg"); } else { if (result["success"].Length == 0) { result["success"] = "1"; } } return(result); #endregion }