private static void SaveImage(object taskO)
        {
            var taskObject     = taskO as TaskObject;
            var thisObject     = taskObject.thisObject as QyCustomMessageHandler;
            var requestMessage = taskObject.parameter1 as RequestMessageImage;


            LogManager.GetLogger(thisObject.GetType()).Debug("Begin SaveImage from Wechat Client");

            //WebClient webclient = new WebClient();
            //var picData = await webclient.DownloadDataTaskAsync(requestMessage.PicUrl);
            //string picType = requestMessage.PicUrl.Substring(requestMessage.PicUrl.LastIndexOf('.') + 1);

            //var img = ImageHelper.BytesToImage(picData);

            using (MemoryStream stream = new MemoryStream())
            {
                string filename = "";
                try
                {
                    LogManager.GetLogger(thisObject.GetType()).Debug("MediaApi.Get");
                    MediaApi.Get(GetToken(requestMessage.AgentID), requestMessage.MediaId, stream);
                    stream.Seek(0, SeekOrigin.Begin);

                    //var imageBytes = stream.ToArray();
                    //var imageFromUser = ImageHelper.BytesToImage(imageBytes);

                    //LogManager.GetLogger(this.GetType()).Debug("ImageUtility.MakeThumbnail");

                    filename = USER_IMAGE_SAVE_FOLDER_PATH + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".jpg";
                    string strPath = thisObject.MapPath("/" + filename);

                    //ImageUtility.MakeThumbnail(null, stream, strPath, 900, 0, "W", 0, true);//update by anrew. 6/12
                    //thumbnailImageFromUser.Save(strPath);
                    var image = System.Drawing.Image.FromStream(stream);
                    image.Save(strPath);
                    //LogManager.GetLogger(this.GetType()).Debug("thumbnailImageFromUser is NULL? - " + (thumbnailImageFromUser == null));

                    LogManager.GetLogger(thisObject.GetType()).Debug("new ArticleImages()");
                    LogManager.GetLogger(thisObject.GetType()).Debug("AppId: {0} CreatedUserID: {1}", requestMessage.AgentID, requestMessage.FromUserName);
                    var articleImage = new ArticleImages()
                    {
                        AppId          = requestMessage.AgentID,
                        UploadedUserId = requestMessage.FromUserName,
                        ImageContent   = System.IO.File.ReadAllBytes(strPath),
                        CreatedDate    = DateTime.Now,
                        ImageName      = filename
                    };

                    LogManager.GetLogger(thisObject.GetType()).Debug("_articleImagesService.Insert");
                    thisObject._articleImagesService.Repository.Insert(articleImage);
                }
                catch (Exception ex)
                {
                    LogManager.GetLogger(thisObject.GetType()).Error(ex.Message + "\r\n Filename:" + filename + "\r\n" + ex.InnerException + "\r\n" + ex.StackTrace);
                }
            }

            LogManager.GetLogger(thisObject.GetType()).Debug("End SaveImage from Wechat Client");
        }
        public static void SaveImage(MemoryStream stream, int iAPPID, string strUserID)
        {
            log.Debug("Begin SaveImage from Wechat Client");

            //WebClient webclient = new WebClient();
            //var picData = await webclient.DownloadDataTaskAsync(requestMessage.PicUrl);
            //string picType = requestMessage.PicUrl.Substring(requestMessage.PicUrl.LastIndexOf('.') + 1);

            //var img = ImageHelper.BytesToImage(picData);

            // var config = WeChatCommonService.lstSysWeChatConfig.Find(a => a.WeixinCorpId == requestMessage.ToUserName);

            using (stream)
            {
                try
                {
                    //var imageBytes = stream.ToArray();
                    //var imageFromUser = ImageHelper.BytesToImage(imageBytes);

                    log.Debug("ImageUtility.MakeThumbnail");

                    string filename = USER_IMAGE_SAVE_FOLDER_PATH + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".jpg";
                    string strPath  = MapPath("/" + filename);

                    ImageUtility.MakeThumbnail(null, stream, strPath, 900, 0, "W", 1, true);
                    //thumbnailImageFromUser.Save(strPath);

                    //LogManager.GetLogger(this.GetType()).Debug("thumbnailImageFromUser is NULL? - " + (thumbnailImageFromUser == null));

                    log.Debug("new ArticleImages()");
                    var articleImage = new ArticleImages()
                    {
                        AppId         = iAPPID,
                        CreatedUserID = strUserID,
                        ImageContent  = System.IO.File.ReadAllBytes(strPath),
                        CreatedDate   = DateTime.Now,
                        ImageName     = filename
                    };

                    log.Debug("_articleImagesService.Insert");

                    IArticleImagesService _articleImagesService = EngineContext.Current.Resolve <IArticleImagesService>();

                    _articleImagesService.Repository.Insert(articleImage);
                }
                catch (Exception ex)
                {
                    log.Error(ex, ex.Message);
                }
            }

            log.Debug("End SaveImage from Wechat Client");
        }
예제 #3
0
        /// <summary>
        /// 上传图片处理
        /// </summary>
        /// <returns></returns>
        public ActionResult PostImage()
        {
            string strPath = "";
            string isVideo = Request["isVideo"];//For video poster.

            byte[] uploadFileBytes = null;
            if (Request.Files.Count > 0)
            {
                HttpPostedFileBase objFile = Request.Files[0];

                var tmpPath = Server.MapPath("~/temp");

                var strExt = System.IO.Path.GetExtension(objFile.FileName);

                strPath = string.Format("{0}\\{1}**{2}", tmpPath, DateTime.Now.ToString("yyyyMMddHHmmss"), strExt);

                Image imageThumb;

                if (!string.IsNullOrEmpty(strExt) && ".jpg,.png,.bmp,.jpeg,.gif".IndexOf(strExt.ToLower()) >= 0)
                {
                    //生成缩略图

                    imageThumb = ImageUtility.MakeThumbnail(null, objFile.InputStream, strPath.Replace("**", ""), !string.IsNullOrEmpty(isVideo) ? 900 : 400, 225, "W", 1);

                    if (imageThumb != null)
                    {
                        uploadFileBytes = ImageHelper.ImageToBytes(Image.FromFile(strPath.Replace("**", "")));
                    }
                }
            }

            string strName = System.IO.Path.GetFileName(strPath.Replace("**", ""));

            ArticleImages image = new ArticleImages()
            {
                ImageContent = uploadFileBytes,
                ImageName    = "/temp/" + strName
            };

            _articelImageService.Repository.Insert(image);

            string imgUrl = string.Format(image.ImageName);

            return(Json(new UploadMessageSuccess(new UploadMessageSuccessMsg(strName, imgUrl), image.Id.ToString(CultureInfo.InvariantCulture)),
                        JsonRequestBehavior.AllowGet));
        }
        protected void doFile(ArticleInfoView objModal, ArticleContentView obj, int i)
        {
            if (!string.IsNullOrEmpty(objModal.ImgUrl[i]))
            {
                if (objModal.ImgUrl[i] != objModal.ImgUrl_Old[i])
                {
                    var objImg = new ArticleImages();

                    string strPath = Server.MapPath("~/") + objModal.ImgUrl[i];
                    objImg.ImageContent = System.IO.File.ReadAllBytes(strPath);
                    //objModal.ImageContent_T = System.IO.File.ReadAllBytes(Request.PhysicalApplicationPath + strImg.Replace(".", "_T."));
                    objImg.ImageName = System.IO.Path.GetFileName(strPath);

                    obj.ImageUrl = objImg.ImageName;
                    obj.objImage = objImg;
                }
                else if (!string.IsNullOrEmpty(objModal.ImgID[i]))
                {
                    string strPath = Server.MapPath("~/") + objModal.ImgUrl[i];
                    obj.ImageUrl = System.IO.Path.GetFileName(strPath);
                    obj.ImageID  = int.Parse(objModal.ImgID[i]);
                }
            }
        }
        public static void InitializeDb(IApplicationBuilder app)
        {
            DatabaseContext context = app.ApplicationServices.GetRequiredService <DatabaseContext>();

            context.Database.Migrate();
            /*burada yazılacak kodlar baslangıc verilerini olusturacak*/

            if (context.Users.Any() == false)
            {
                for (int i = 0; i < 10; i++)
                {
                    Users user = new Users();
                    user.Name           = FakeData.NameData.GetFirstName();
                    user.Surname        = FakeData.NameData.GetSurname();
                    user.Email          = FakeData.NetworkData.GetEmail();
                    user.Adress         = FakeData.PlaceData.GetAddress();
                    user.Phone          = "553 510 1122";
                    user.Password       = "******";//123
                    user.UserName       = FakeData.NameData.GetCompanyName();
                    user.ProfileImage   = "05635dabf9b0453cb0b147848c0b3b27.jpg";
                    user.BannedStatus   = FakeData.BooleanData.GetBoolean();
                    user.AccountStatus  = FakeData.BooleanData.GetBoolean();
                    user.RegisterDate   = DateTime.Now;
                    user.LastActiveDate = DateTime.Now;
                    context.Users.Add(user);
                }
                context.SaveChanges();
                for (int i = 0; i < 10; i++)
                {
                    Categories categories = new Categories();
                    categories.CategoriName = FakeData.PlaceData.GetCountry();
                    context.Categories.Add(categories);
                }

                context.SaveChanges();
                for (int i = 0; i < 3; i++)
                {
                    BannedUsers bannedUsers = new BannedUsers();
                    bannedUsers.BannedDate  = DateTime.Now;
                    bannedUsers.AdminListID = 1;
                    bannedUsers.BannedLimit = DateTime.Today;
                    bannedUsers.Reason      = FakeData.TextData.GetSentence();
                }

                context.SaveChanges();
                List <Users>      users    = context.Users.ToList();
                List <Categories> kategori = context.Categories.ToList();

                for (int i = 0; i < 3; i++)
                {
                    AdminList admin = new AdminList();
                    admin.User       = users[i];
                    admin.AuthDegree = 2;
                    admin.AuthName   = "Admin";
                    context.AdminList.Add(admin);
                }
                foreach (Users user in users)
                {
                    for (int i = 0; i < FakeData.NumberData.GetNumber(1, 5); i++)
                    {
                        Articles article = new Articles();
                        //try
                        //{
                        article.User          = user;
                        article.Category      = kategori[i];
                        article.Title         = FakeData.TextData.GetSentence();
                        article.Text          = FakeData.TextData.GetSentences(2);
                        article.DefaultImage  = "bc06537e49814c258bd0b6d738a1e792.jpg";
                        article.AddDate       = FakeData.DateTimeData.GetDatetime();
                        article.UpdateDate    = FakeData.DateTimeData.GetDatetime();
                        article.NumOfLikes    = FakeData.NumberData.GetNumber(1, 10000);
                        article.BannedStatus  = FakeData.BooleanData.GetBoolean();
                        article.ArticleStatus = FakeData.BooleanData.GetBoolean();
                        context.Articles.Add(article);
                        context.SaveChanges();
                        //}
                        //catch (DbEntityValidationException e)
                        //{
                        //    foreach (var eve in e.EntityValidationErrors)//faydalı bir kod 1 saat  sonunda sorunu bulmamı sağladı :D
                        //    {
                        //        Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                        //            eve.Entry.Entity.GetType().Name, eve.Entry.State);
                        //        foreach (var ve in eve.ValidationErrors)
                        //        {
                        //            Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                        //                ve.PropertyName, ve.ErrorMessage);
                        //        }
                        //    }
                        //    throw;
                        //}
                        for (int t = 0; t < 10; t++)
                        {
                            ArticleImages articleImages = new ArticleImages();
                            articleImages.Article    = article;
                            articleImages.ImagesPath = "bc06537e49814c258bd0b6d738a1e792.jpg";
                            context.ArticleImages.Add(articleImages);
                            Comments comments = new Comments();
                            comments.Article     = article;
                            comments.User        = user;
                            comments.CommentDate = DateTime.Now;
                            comments.Text        = FakeData.TextData.GetSentence();
                            context.Comments.Add(comments);
                        }
                    }
                }
                context.SaveChanges();
            }
        }
예제 #6
0
    public override void Process()
    {
        byte[] uploadFileBytes = null;
        string uploadFileName  = null;

        if (UploadConfig.Base64)
        {
            uploadFileName  = UploadConfig.Base64Filename;
            uploadFileBytes = Convert.FromBase64String(Request[UploadConfig.UploadFieldName]);
        }
        else
        {
            var file = Request.Files[UploadConfig.UploadFieldName];
            uploadFileName = file.FileName;

            if (!CheckFileType(uploadFileName))
            {
                Result.State = UploadState.TypeNotAllow;
                WriteResult();
                return;
            }
            if (!CheckFileSize(file.ContentLength))
            {
                Result.State = UploadState.SizeLimitExceed;
                WriteResult();
                return;
            }

            uploadFileBytes = new byte[file.ContentLength];
            try
            {
                file.InputStream.Read(uploadFileBytes, 0, file.ContentLength);
            }
            catch (Exception)
            {
                Result.State = UploadState.NetworkError;
                WriteResult();
            }
        }

        Result.OriginFileName = uploadFileName;

        var savePath  = PathFormatter.Format(uploadFileName, UploadConfig.PathFormat);
        var localPath = Server.MapPath(savePath);

        try
        {
            if (!Directory.Exists(Path.GetDirectoryName(localPath)))
            {
                Directory.CreateDirectory(Path.GetDirectoryName(localPath));
            }

            MemoryStream ms = new MemoryStream(uploadFileBytes);

            Image imageThumb;

            imageThumb = ImageUtility.MakeThumbnail(null, ms, localPath, 900, 225, "W", 1);

            if (imageThumb != null)
            {
                uploadFileBytes = ImageHelper.ImageToBytes(Image.FromFile(localPath));
            }
            //File.WriteAllBytes(localPath, uploadFileBytes);不存原图

            ArticleImages image = new ArticleImages()
            {
                ImageContent = uploadFileBytes,
                ImageName    = savePath
            };

            BaseService <ArticleImages> ser = new BaseService <ArticleImages>("CAAdmin");
            ser.Repository.Insert(image);
            Result.Url = "/Common/File?id=" + image.Id + "&FileName=" + image.ImageName;

            Result.State = UploadState.Success;
        }
        catch (Exception e)
        {
            Result.State        = UploadState.FileAccessError;
            Result.ErrorMessage = e.Message;
        }
        finally
        {
            WriteResult();
        }
    }