/// <summary> /// 获取随机图片服务器 /// </summary> /// <returns></returns> private ImageServiceDbModel GetRandImageService() { var imageServices = new ImageServiceManager().Query(); if (imageServices.Count <= 0) { return(null); } var serverCount = imageServices.Count; Random rand = new Random(); int randomNumber = rand.Next(); int serverIndex = randomNumber % serverCount; return(imageServices[serverIndex]); }
/// <summary> /// 存储实现 /// </summary> /// <param name="stream"></param> /// <returns></returns> public string Save(Stream stream) { var serviceUrl = ConfigurationManager.AppSettings["RootService"].ToString(); var ImageService = new ImageServiceManager().Get(int.Parse(serviceUrl)); #region 1.stream转Bytes var bytes = StreamToBytes(stream); #endregion #region 2.压缩处理 // var memoryStream = ComPress(bytes); #endregion #region 3.文件名生成 var dateNow = DateTime.Now; var dicName = string.Format("{0}/{1}/{2}", dateNow.Year, dateNow.Month, dateNow.Day); var appPath = HttpRuntime.AppDomainAppPath; //服务器文件夹路径 var ServiceDic = "/" + ImageService.PicRootPath + "/" + dicName; if (!System.IO.Directory.Exists(appPath + ServiceDic))//如果不存在就创建file文件夹 { System.IO.Directory.CreateDirectory(appPath + ServiceDic); } //随机文件名 var FileName = Guid.NewGuid().ToString("N") + dateNow.Ticks.ToString(); var picpath = ServiceDic + "/" + FileName + ".jpg"; var PicFullName = appPath + picpath; #endregion #region 4.文件保存 // ImgSave(PicFullName, memoryStream); SaveFile(bytes, PicFullName); #endregion UpDate(picpath, ImageService.ServerId); return(ImageService.ServerUrl + picpath); }
private void UpDate(string path, int ServiceId) { var image = new ImageManager(); var model = new ImageInfoDbModel(); model.CreateDate = DateTime.Now; model.ImageName = path; model.ImageServerId = ServiceId; image.Add(model); var ImageService = new ImageServiceManager(); var dbmodel = ImageService.Get(ServiceId); dbmodel.CurPicAmount++; if (dbmodel.CurPicAmount >= dbmodel.MaxPicAmount) { dbmodel.FlgUsable = false; } ImageService.Update(dbmodel); }