Exemple #1
0
 public IEnumerator StoreImages(Dictionary <string, string> images)
 {
     yield return(ImageStorage.Store(images));
 }
Exemple #2
0
 private void addToStorage(Point p, Color c)
 {
     ImageStorage.Add(p, c);
 }
Exemple #3
0
 public IEnumerator StoreImage(string name, string url)
 {
     yield return(ImageStorage.Store(name, url));
 }
Exemple #4
0
        protected void btnUpload_ServerClick(object sender, EventArgs e)
        {
            if (this.t_Date.Text.Trim() == string.Empty)
            {
                this.ShowMessage(this, "请选择时间");
                return;
            }
            else
            {
                if (Convert.ToDateTime(this.t_Date.Text) > DateTime.Now)
                {
                    this.ShowMessage(this, "拍摄时间应比现在早");
                    return;
                }
            }
            //验证日期
            DateTime sDate = new DateTime();
            DateTime eDate = new DateTime();

            if (this.Calendar_StartDate.Text != "")
            {
                sDate = Convert.ToDateTime(this.Calendar_StartDate.Text);
                if (sDate <= DateTime.Now)
                {
                    this.ShowMessage(this, "有效开始日期应比现在日期晚");
                    return;
                }
            }
            else
            {
                sDate = Convert.ToDateTime("1900-01-01");
            }
            if (this.Calendar_EndDate.Text != "")
            {
                eDate = Convert.ToDateTime(this.Calendar_EndDate.Text);

                if (sDate == Convert.ToDateTime("1900-01-01") && eDate < DateTime.Now)
                {
                    this.ShowMessage(this, "有效结束日期应至少比现在日期晚");
                    return;
                }
                else if (eDate < sDate)
                {
                    this.ShowMessage(this, "有效结束日期应比有效开始日期晚");
                    return;
                }
            }
            else
            {
                eDate = Convert.ToDateTime("1900-01-01");
            }

            //根节点
            TreeNode parentNode = catalogTree.RootNode;
            //获取checked的节点List
            ArrayList nodeList = new ArrayList();

            this.catalogTree.ArrCheckbox(nodeList, parentNode);

            ArrayList catalogIds = new ArrayList(nodeList.Count);

            foreach (TreeNode node in nodeList)
            {
                catalogIds.Add(new Guid(node.Value));
            }

            if (catalogIds.Count == 0)
            {
                this.ShowMessage(this, "没有选择分类,上传失败!");
                return;
            }



            ImageStorage img = new ImageStorage();

            string fileName = "";   //原始文件名

            if (!string.IsNullOrEmpty(Request["selectedFile"]))
            {
                fileName = Request["selectedFile"].ToString();
            }
            string uploadFileName = ""; //上传以后重新分配的文件名 prefix+yymmdd+00001.extention

            if (!string.IsNullOrEmpty(Request["uploadFileName"]))
            {
                uploadFileName = Request["uploadFileName"].ToString();
            }

            VideoStorageClass vsc = new VideoStorageClass();
            VideoStorage      v   = new VideoStorage();

            v.Caption        = this.txt_Caption.Value;
            v.Description    = this.description.Value;
            v.EndDate        = eDate;
            v.FileName       = fileName;
            v.FolderName     = CurrentUser.UserLoginName;
            v.ServerFileName = uploadFileName;
            v.GroupId        = CurrentUser.UserGroupId;
            v.ItemId         = Guid.NewGuid();
            v.ItemSerialNum  = Path.GetFileNameWithoutExtension(uploadFileName);
            v.Keyword        = this.keyWord.Value;
            v.shotDate       = Convert.ToDateTime(this.t_Date.Text);
            v.StartDate      = sDate;
            v.uploadDate     = DateTime.Now;
            v.userId         = CurrentUser.UserId;
            v.updateDate     = DateTime.Now;

            //存储数据库记录
            // img.ItemSerialNum = ImageStorageClass.AddImageStorage(img);

            if (!vsc.Add(v))
            {
                this.ShowMessage(this, "上传失败");
                return;
            }

            vsc.CreateRelationshipVideoAndCatalog(v.ItemId, (Guid[])catalogIds.ToArray(typeof(Guid)));


            this.t_Date.Text = "";
            //this.imageType.Value = "";
            this.keyWord.Value     = "";
            this.description.Value = "";
            //this.txt_Address.Value = "";
            this.txt_Caption.Value = "";
            //this.txt_Character.Value = "";
            this.Calendar_StartDate.Text = "";
            this.Calendar_EndDate.Text   = "";

            initCalendar();

            this.ShowMessage(this, "上传成功");

            //调用一下处理程序,不用等待处理结果
            //VideoController vc = new VideoController();
            //vc.runExe(ConfigurationManager.AppSettings["VideoEngineConsolePath"].ToString());
        }
Exemple #5
0
 public ImageController(ImageStorage imageStorage, ImageAnalysisStore imageAnalysisStore)
 {
     this.imageStorage       = imageStorage;
     this.imageAnalysisStore = imageAnalysisStore;
 }
        private async Task <bool> ProcessMsg(string xml, bool returnImage)
        {
            MsgObject msg = new MsgObject(xml);

            if (msg.MsgType != "image")
            {
                string resString = "请点+号输入一张人物风景照片试试";
                Response.Write(string.Format("<xml><ToUserName><![CDATA[{0}]]></ToUserName><FromUserName><![CDATA[{1}]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[{2}]]></Content></xml>",
                                             msg.FromUserName, msg.ToUserName, resString));
                Response.End();
                return(false);
            }

            bool isDebug = false;

            if (isDebug)
            {
                string debugString = msg.PicUrl;
                Response.Write(string.Format("<xml><ToUserName><![CDATA[{0}]]></ToUserName><FromUserName><![CDATA[{1}]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[{2}]]></Content></xml>",
                                             msg.FromUserName, msg.ToUserName, msg.PicUrl));
                Response.End();
                return(false);
            }



            //string imagePathorUrl = msg.PicUrl;
            //string imagePathorUrl = msg.PicUrl.Replace("https://", "").Replace("http://", "");
            //var ret = vision.AnalyzeImage(msg.PicUrl);
            RichResult ret = null;
            //ret = vision.AnalyzeImage(msg.PicUrl);

            VisionHelper vision = new VisionHelper(GetVisionAPIkey(), fontPath, DateTime.Now, fontPath);


            var task = QuickReturn(vision, msg);

            //md5 = GetMd5(msg.PicUrl);
            md5 = GetMd5(msg.PicUrl + msg.CreateTime.ToString());
            //check data from db
            using (var dbContext = new WeixinDBContext())
            {
                //ImageStorage image = dbContext.ImageStorages.FirstOrDefault(p => p.OpenId == msg.FromUserName && p.PicUrl == msg.PicUrl && p.CreateTime == msg.CreateTime);
                //ImageStorage image = dbContext.ImageStorages.FirstOrDefault(p => p.PicUrl == msg.PicUrl);
                //ImageStorage image = dbContext.ImageStorages.FirstOrDefault(p => p.PicUrl == msg.PicUrl && p.CreateTime == msg.CreateTime);

                //ImageStorage image = dbContext.ImageStorages.FirstOrDefault(p => p.Md5 == md5 && p.CreateTime == msg.CreateTime);
                ImageStorage image = dbContext.ImageStorages.FirstOrDefault(p => p.Md5 == md5);
                if (image != null)
                {
                    Response.Write(string.Format("<xml><ToUserName><![CDATA[{0}]]></ToUserName><FromUserName><![CDATA[{1}]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[{2}]]></Content><DebugInfo><![CDATA[{3}]]></DebugInfo><ErrorInfo><![CDATA[{4}]]></ErrorInfo></xml>",
                                                 msg.FromUserName, msg.ToUserName, image.ParsedDescription, image.TimeLog, md5));
                    Response.End();
                    return(true);
                }
                dbContext.Dispose();
            }



            ret = await task;

            //when not results in DB and got error
            if (!ret.errorLogs.Equals(""))
            {
                //Response.Write(string.Format("<xml><ToUserName><![CDATA[{0}]]></ToUserName><FromUserName><![CDATA[{1}]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[{2}]]></Content></xml>",
                //        msg.FromUserName, msg.ToUserName, "机器人很忙,请稍后再试"));
                Response.Write(string.Format("<xml><ToUserName><![CDATA[{0}]]></ToUserName><FromUserName><![CDATA[{1}]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[{2}]]></Content><DebugInfo><![CDATA[{3}]]></DebugInfo><ErrorInfo><![CDATA[{4}]]></ErrorInfo></xml>",
                                             msg.FromUserName, msg.ToUserName, ret.analyzeImageResult, ret.timeLogs, ret.errorLogs));
                Response.End();
            }
            //// Debug mode
            //Response.Write(string.Format("<xml><ToUserName><![CDATA[{0}]]></ToUserName><FromUserName><![CDATA[{1}]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[{2}]]></Content><DebugInfo><![CDATA[{3}]]></DebugInfo><ErrorInfo><![CDATA[{4}]]></ErrorInfo></xml>",
            //    msg.FromUserName, msg.ToUserName, ret.analyzeImageResult, ret.timeLogs, ret.errorLogs));

            // Production mode
            //Response.Write(string.Format("<xml><ToUserName><![CDATA[{0}]]></ToUserName><FromUserName><![CDATA[{1}]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[{2}]]></Content></xml>", msg.FromUserName, msg.ToUserName, ret.analyzeImageResult));

            //Response.End();


            //save db first without parsedContent
            int id = -1;

            using (var dbContext = new WeixinDBContext())
            {
                ImageStorage image = new ImageStorage();
                image.OpenId     = msg.FromUserName;
                image.CreateTime = msg.CreateTime;
                image.PicUrl     = msg.PicUrl;
                image.Md5        = GetMd5(msg.PicUrl + msg.CreateTime.ToString() + ret.errorLogs);
                //image.PicContent = ret.rawImage;
                image.ParsedUrl         = ret.uploadedUrl;
                image.ParsedDescription = ret.analyzeImageResult + ret.errorLogs;
                image.TimeLog           = ret.timeLogs;
                dbContext.ImageStorages.Add(image);
                dbContext.SaveChanges();
                id = image.Id;
                dbContext.Dispose();
            }

            //write to DB
            //var webClient = new WebClient();
            //var processedImageBytes = webClient.DownloadData(ret.uploadedUrl);

            //using (var dbContext = new WeixinDBContext())
            //{
            //    ImageStorage image = dbContext.ImageStorages.FirstOrDefault(p => p.Id == id);
            //    if (image != null)
            //    {
            //        image.ParsedContent = processedImageBytes;
            //        dbContext.SaveChanges();
            //    }
            //}

            return(true);
        }
Exemple #7
0
 string[] GetImages(string value) => value.Select(p => ImageStorage.FetchPng(p.ToString())).ToArray();
Exemple #8
0
        private static void StrategySection()
        {
            var storage = new ImageStorage(new PngCompressor(), new BestFilterInTheWorld());

            storage.SavePhoto("asas");
        }
Exemple #9
0
        private string UploadImage()
        {
            ImageStorage img = new ImageStorage();

            //string uploadvalue = this.ImageUpload.Value.Trim();
            string fileName = fuImage.FileName; //获取上传文件的全路径 //uploadvalue.Substring(uploadvalue.Trim().LastIndexOf(@"\") + 1);//得到文件


            #region 组织数据

            img.ImageType = System.IO.Path.GetExtension(fileName).ToLower(); //获取扩展名

            img.FileName    = System.IO.Path.GetFileName(fileName);          //实际文件名称
            img.Keyword     = this.txtTitle.Text.Trim();
            img.Description = this.txtRemark.Text.Trim();
            img.shotDate    = DateTime.Now;
            img.StartDate   = DateTime.Now;
            img.EndDate     = DateTime.Now.AddYears(5);

            img.Caption       = this.txtTitle.Text.Trim();
            img.FolderName    = CurrentUser.UserLoginName;
            img.userId        = CurrentUser.UserId;
            img.ItemId        = Guid.NewGuid();
            img.ItemSerialNum = ImageStorageClass.GetImageSeq(DateTime.Now);
            img.GroupId       = CurrentUser.UserGroupId;
            img.uploadDate    = DateTime.Now;

            img.FileSize = this.fuImage.PostedFile.ContentLength;

            #endregion
            //modify by dtf 08-06-16 (png,psd,ai)

            System.Drawing.Image m_Image = null;

            if (this.CheckImageType(img.ImageType))// is image format
            {
                if (img.ImageType == "ai")
                {
                    img.Hvsp = "s";
                }
                else
                {
                    // m_Image = System.Drawing.Image.FromFile(fileName);

                    m_Image = System.Drawing.Image.FromStream(this.fuImage.PostedFile.InputStream);

                    Int32 height = Convert.ToInt32(m_Image.Height.ToString());
                    Int32 width  = Convert.ToInt32(m_Image.Width.ToString());

                    if (height > width)
                    {
                        img.Hvsp = "v";
                    }
                    else if (width > height)
                    {
                        img.Hvsp = "h";
                    }
                    else
                    {
                        img.Hvsp = "s";
                    }
                }
            }
            else
            {
                img.Hvsp = string.Empty;
            }

            //存储数据库记录
            // img.ItemSerialNum = ImageStorageClass.AddImageStorage(img);

            string s = ImageStorageClass.AddImageStorage(img);
            if (s == null)
            {
                this.ShowMessage(this, "上传失败");
            }

            //准能压缩文件
            try
            {
                if (!this.CheckImageType(img.ImageType) ||
                    img.ImageType == "ai")
                {
                    uploadFile(img);//存储普通文件
                }
                else
                {
                    saveImage(m_Image, img);//将imageID与catalogID保存到ImageStorage_Catalog表
                }
            }
            catch (Exception ex)
            {
                LogWriter.WriteExceptionLog(ex);
                this.ShowMessage(this, "上传失败");
                return(null);
            }
            finally
            {
                if (m_Image != null)
                {
                    m_Image.Dispose();
                }
            }

            return(img.ItemId.ToString());
        }
Exemple #10
0
        void drawWindow(BasePlayer player)
        {
            IOrderedEnumerable <KeyValuePair <ulong, PlayerData> > items = from pair in data orderby pair.Value.pvp.kills descending select pair;
            int    i      = 1;
            string topPvp = "   Убийства:\n\n";

            foreach (KeyValuePair <ulong, PlayerData> pair in items)
            {
                string name = pair.Value.name;
                if (name == null)
                {
                    name = "Неизвестный";
                }
                topPvp = topPvp + i.ToString() + ") " + name + " - " + pair.Value.pvp.kills.ToString() + "\n";
                i++;
                if (i > 5)
                {
                    break;
                }
            }

            items  = from pair in data orderby pair.Value.pvp.deaths descending select pair;
            i      = 1;
            topPvp = topPvp + "\n   Смерти:\n\n";
            foreach (KeyValuePair <ulong, PlayerData> pair in items)
            {
                string name = pair.Value.name;
                if (name == null)
                {
                    name = "Неизвестный";
                }
                topPvp = topPvp + i.ToString() + ") " + name + " - " + pair.Value.pvp.deaths.ToString() + "\n";
                i++;
                if (i > 5)
                {
                    break;
                }
            }

            items = from pair in data orderby pair.Value.pvp.duelWin descending select pair;
            i     = 1;

            /*topPvp = topPvp + "\n   Победы в дуэлях:\n\n";
             * foreach(KeyValuePair<ulong, PlayerData> pair in items)
             * {
             *  string name = pair.Value.name;
             *  if(name == null) name = "Неизвестный";
             *  topPvp = topPvp + i.ToString() + ") " + name + " - " + pair.Value.pvp.duelWin.ToString() + "\n";
             *  i++;
             *  if(i > 5) break;
             * }*/

            items = from pair in data orderby(pair.Value.gather.wood + pair.Value.gather.stone + pair.Value.gather.metalOre + pair.Value.gather.sulfurOre + pair.Value.gather.hqmetalOre) descending select pair;

            i = 1;
            string topPve = "* Добыча\n\n   Руками:\n\n";

            foreach (KeyValuePair <ulong, PlayerData> pair in items)
            {
                string name = pair.Value.name;
                if (name == null)
                {
                    name = "Неизвестный";
                }
                topPve = topPve + i.ToString() + ") " + name + " - " + (pair.Value.gather.wood + pair.Value.gather.stone + pair.Value.gather.metalOre + pair.Value.gather.sulfurOre +
                                                                        pair.Value.gather.hqmetalOre).ToString() + "\n";
                i++;
                if (i > 5)
                {
                    break;
                }
            }

            items = from pair in data
                    orderby(pair.Value.quarry.stone + pair.Value.quarry.metal + pair.Value.quarry.metalOre + pair.Value.quarry.sulfurOre +
                            pair.Value.quarry.hqmetal + pair.Value.quarry.hqmetalOre) descending
                    select pair;

            i      = 1;
            topPve = topPve + "\n   Карьер:\n\n";
            foreach (KeyValuePair <ulong, PlayerData> pair in items)
            {
                string name = pair.Value.name;
                if (name == null)
                {
                    name = "Неизвестный";
                }
                topPve = topPve + i.ToString() + ") " + name + " - " + (pair.Value.quarry.stone + pair.Value.quarry.metal + pair.Value.quarry.metalOre + pair.Value.quarry.sulfurOre +
                                                                        pair.Value.quarry.hqmetal + pair.Value.quarry.hqmetalOre).ToString() + "\n";
                i++;
                if (i > 5)
                {
                    break;
                }
            }

            items = from pair in data orderby pair.Value.minutes descending select pair;
            i     = 1;
            string topTime = "\n\n * Время на сервере:\n\n";

            foreach (KeyValuePair <ulong, PlayerData> pair in items)
            {
                string name = pair.Value.name;
                if (name == null)
                {
                    name = "Неизвестный";
                }
                topTime = topTime + i.ToString() + ") " + name + " - " + prettyTime(pair.Value.minutes) + "\n";
                i++;
                if (i > 5)
                {
                    break;
                }
            }



            string text = data[player.userID].name + "\n\n   * PvP\n   Убийств: " + data[player.userID].pvp.kills.ToString() + "\n   Смертей: " + data[player.userID].pvp.deaths.ToString() + "\n   Побед в дуэли: " + data[player.userID].pvp.duelWin.ToString() +
                          "\n\n   * Добыто руками (" + (data[player.userID].gather.wood + data[player.userID].gather.stone + data[player.userID].gather.sulfurOre +
                                                        data[player.userID].gather.metalOre + data[player.userID].gather.hqmetalOre).ToString() + ")\n   Дерево: " + data[player.userID].gather.wood.ToString() +
                          "\n   Камень: " + data[player.userID].gather.stone.ToString() + "\n   Железная руда: " + data[player.userID].gather.metalOre.ToString() + "\n   Серная руда: " + data[player.userID].gather.sulfurOre.ToString() +
                          "\n   Мет. выс. к-ва: " + data[player.userID].gather.hqmetalOre.ToString() + "\n\n   * Добыто карьером (" + (data[player.userID].quarry.stone + data[player.userID].quarry.metal + data[player.userID].quarry.metalOre +
                                                                                                                                       data[player.userID].quarry.sulfurOre + data[player.userID].quarry.hqmetal + data[player.userID].quarry.hqmetalOre).ToString() + ")\n   Камень: " + data[player.userID].quarry.stone.ToString() +
                          "\n   Железная руда: " + data[player.userID].quarry.metalOre.ToString() + "\n   Железо: " + data[player.userID].quarry.metal.ToString() + "\n   Серная руда: " +
                          data[player.userID].quarry.sulfurOre.ToString() + "\n   Мет. руда высок. к-ва: " + data[player.userID].quarry.hqmetalOre.ToString() +
                          "\n   Мет. высок. к-ва: " + data[player.userID].quarry.hqmetal.ToString() + "\n\n    " /*+"\n\n   * Подобрал с земли\n   Дерево: "+data[player.userID].pickup.wood.ToString()+"\n   Камень: "+
                                                                                                                  * data[player.userID].pickup.stone.ToString()+"\n   Железная руда: "+data[player.userID].pickup.metalOre+"\n   Серная руда: "+data[player.userID].pickup.sulfurOre+
                                                                                                                  * "\n   Ткань: "+data[player.userID].pickup.cloth*/;

            CuiHelper.DestroyUi(player, "StatsParent");
            startGui[player.userID] = CuiHelper.GetGuid();

            cui.createparentcurs("StatsParent", "0 0 0 0", "0.05 0.1", "0.95 0.95");

            cui.createimg("StatImg", "StatsParent", ImageStorage.FetchPng("stat"), "0 0", "1 1");

            cui.createtext("Text", "StatsParent", "", 24, "0.5 0.9", "0.8 0.99", TextAnchor.MiddleLeft);

            //cui.createbox("Box1", "StatsParent","0.3 0.6 0.3 0.5","0.02 0.05", "0.3 0.95");
            cui.createtext("StatsText", "StatsParent", "<color=#81feff>" + text + "</color>", 18, "0.06 0.1", "0.27 0.95", TextAnchor.MiddleLeft);

            //cui.createbox("Box2", "StatsParent","0.6 0.3 0.3 0.5","0.32 0.35", "0.61 0.88");
            cui.createtext("StatsTextTop", "StatsParent", "<color=#d24a43>" + topPvp + "</color>", 12, "0.36 0.36", "0.63 0.87", TextAnchor.MiddleLeft);

            //cui.createbox("Box3", "StatsParent","0.6 0.3 0.3 0.5","0.62 0.35", "0.99 0.88");
            cui.createtext("StatsTextTop", "StatsParent", "<color=#74b65f>" + topPve /*+topExp*/ + topTime + "</color>", 15, "0.6499 0.02", "0.9999 0.87", TextAnchor.MiddleLeft);

            //cui.createbox("Box4", "StatsParent","0.6 0.3 0.3 0.5","0.62 0.05", "0.99 0.34");
            //cui.createtext("StatsTextTop", "StatsParent", topExp, 18, "0.63 0.06", "0.98 0.33",TextAnchor.MiddleLeft);

            cui.createtext("StatsExitText", "StatsParent", "", 20, "0.32 0.18", "0.61 0.32", TextAnchor.MiddleCenter);
            cui.createbutton("StatsExitButton", "StatsParent", "drawTop", "StatsParent", "0 0 0 0", "0.32 0.18", "0.61 0.32");

            cui.createtext("StatsExitText", "StatsParent", "", 20, "0.32 0.05", "0.61 0.15", TextAnchor.MiddleCenter);
            cui.createbutton("StatsExitButton", "StatsParent", "", "StatsParent", "0 0 0 0", "0.32 0.05", "0.61 0.15");

            CuiHelper.AddUi(player, cui.elements);
            cui.elements.Clear();
        }
 public void Update(ImageStorage modifiedImg)
 {
     _repository.Update(modifiedImg);
     _unitOfWork.Save();
 }
Exemple #12
0
        IEnumerator LoadImages()
        {
            yield return(ImageStorage.Store("stat", "http://i.imgur.com/iZUSVKg.png"));

            yield return(ImageStorage.Store("stat2", "http://i.imgur.com/Cyj0NZS.png"));
        }
Exemple #13
0
 public ActionResult <IDictionary <long, string> > Images()
 {
     return(ImageStorage.GetDebug());
 }
Exemple #14
0
        //修改文件信息
        protected void BtnUpdate_Click(object sender, EventArgs e)
        {
            //验证日期
            DateTime sDate    = new DateTime();
            DateTime eDate    = new DateTime();
            DateTime shotDate = new DateTime();

            if (this.Calendar_ShotDate.Text == "")
            {
                this.Label2.Text = "拍摄时间不能为空!";
                return;
            }
            else
            {
                shotDate = Convert.ToDateTime(this.Calendar_ShotDate.Text);
                if (shotDate > Convert.ToDateTime(this.lb_uploadDate.Text))
                {
                    this.Label2.Text = "拍摄时间应比图片上传日期早!";
                    return;
                }
            }
            if (this.Calendar_StartDate.Text != "")
            {
                sDate = Convert.ToDateTime(this.Calendar_StartDate.Text);
            }
            else
            {
                sDate = Convert.ToDateTime("1900-01-01");
            }
            if (this.Calendar_EndDate.Text != "")
            {
                eDate = Convert.ToDateTime(this.Calendar_EndDate.Text);

                if (sDate != Convert.ToDateTime("1900-01-01") && eDate < sDate)
                {
                    this.Label2.Text = "有效结束日期应比有效开始日期晚";
                    return;
                }
            }
            else
            {
                eDate = Convert.ToDateTime("1900-01-01");
            }



            ImageStorage img = new ImageStorage();

            img.ItemId      = new Guid(this.Hidden_ImgItemId.Value);
            img.Address     = this.txt_Address.Text;
            img.Caption     = this.txt_Caption.Text;
            img.Character   = this.txt_Character.Text;
            img.Description = this.TxtDescription.Text;
            img.Keyword     = this.TxtKeyword.Text;

            img.StartDate = sDate;
            img.EndDate   = eDate;
            img.shotDate  = shotDate;

            img.ItemSerialNum = this.lb_ItemSerialNum.Text;

            bool isValidate = QJVRMS.Business.ImageStorageClass.UpdateImageStorage(img);

            if (isValidate)
            {
                ShowMessage("修改文件信息成功!");
            }
            else
            {
                ShowMessage("修改文件信息失败!");
            }
        }
Exemple #15
0
        public ActionResult Upload(ImagesView image,
                                   HttpPostedFileBase ImageFile)
        {
            CheckAda();

            String  message = "";
            Boolean flag    = false;

            //System.Drawing.Image img;

            TryUpdateModel(image);

            if (ModelState.IsValid)
            {
                //HttpCookie cookie = Request.Cookies.Get("ImageSharing");
                ApplicationUser userid = GetLoggedInUser();
                ApplicationUser user   = db.Users.SingleOrDefault(u => u.Id.Equals(userid.Id));

                //if (cookie != null)
                //{
                //    image.Userid = cookie["Userid"];
                //    User user = db.Users.SingleOrDefault(u => u.Userid.Equals(image.Userid));

                if (user != null)
                {
                    /*
                     * Save image information in the database
                     */

                    //JavaScriptSerializer serializer = new JavaScriptSerializer();
                    //String jsonData = serializer.Serialize(image);

                    Image imageEntity = new Image();
                    imageEntity.Caption     = image.Caption;
                    imageEntity.Description = image.Description;
                    imageEntity.DateTaken   = image.DateTaken;
                    imageEntity.Userid      = user.Id;     //navigation property
                    imageEntity.TagId       = image.TagId; //navigation property
                    imageEntity.Approved    = false;
                    imageEntity.Validated   = false;

                    if (ImageFile != null && ImageFile.ContentLength > 0)
                    {
                        if (ImageFile.ContentLength > Limit)
                        {
                            flag    = true;
                            message = "Image size exceed permissible values";
                        }
                        //else if (ImageFile.ContentType != "image/jpeg")
                        //{
                        //    flag = true;
                        //    message = "File type " + ImageFile.ContentType +
                        //        " is not valid.  Only supports 'jpeg'.";
                        //}
                        else
                        {
                            //try
                            //{
                            //    img = System.Drawing.Image.FromStream(ImageFile.InputStream);

                            //}
                            //catch (SystemException ex)
                            //{
                            //    return View("Error");
                            //}

                            //if (img.RawFormat.Guid != System.Drawing.Imaging.ImageFormat.Jpeg.Guid)
                            //{
                            //    flag = true;
                            //    message = "File is invalid!";
                            //}
                            //else
                            //{
                            db.Images.Add(imageEntity);
                            db.SaveChanges();  //Save the changes to db so we get ID chosen by db
                            //Save the image
                            //String imgFileName = Server.MapPath("~/Content/Images/img-" + imageEntity.Id + ".jpg");
                            //ImageFile.SaveAs(imgFileName);
                            //ImageFile.SaveAs(getFilePath(imageEntity.Id));
                            ImageStorage.SaveFile(Server, ImageFile, imageEntity.Id);
                            //Push the image to the service bus queue for validation
                            QueueManager qm = new QueueManager(imageEntity.User.Id);
                            qm.addMessage(imageEntity, "Uploaded but it requires admin approvals.");
                            ValidationQueue.Send(new ValidationRequest(imageEntity.Id, imageEntity.User.Id));
                            //}
                        }
                    }
                    else
                    {
                        flag    = true;
                        message = "No file given or 0 sized file.";
                    }

                    if (flag)
                    {
                        ViewBag.Message = message;
                        ViewBag.Tags    = new SelectList(db.Tags, "Id", "Name", 1);
                        return(View());
                    }
                    else
                    {
                        ViewBag.Title = "Image uploaded.";
                        return(RedirectToAction("Details", new { Id = imageEntity.Id }));
                    }
                }
                else
                {
                    ViewBag.Message = "No such user found.";
                    return(View());
                }
                //}
                //else
                //{
                //    ViewBag.Message = "You need to register first before uploading.";
                //    return View();
                //}
            }
            else
            {
                ViewBag.Message = "Errors in the form fields";
                return(View());
            }
        }
 public AddImageUrl(ImageStorage entity)
 {
     Entity = entity;
 }
        //  [RequireHttps]
        public ActionResult Upload(ImageView image, HttpPostedFileBase ImageFile)
        {
            CheckAda();
            TryUpdateModel(image);

            if (ModelState.IsValid)
            {
                ApplicationUser user = GetLoggedInUser();

                if (user != null)
                {
                    /*
                     * Save image information in the database.
                     */

                    Image imageEntity = new Image();
                    imageEntity.Caption     = image.Caption;
                    imageEntity.Description = image.Description;
                    imageEntity.DateTaken   = image.DateTaken;
                    imageEntity.User        = user;
                    imageEntity.TagId       = image.TagId;
                    imageEntity.Validated   = false;
                    imageEntity.Approved    = false;

                    // currentuser = imageEntity.User.Email.Split('@')[0];

                    if (ImageFile != null && ImageFile.ContentLength > 0)
                    {
                        //if (ImageFile.ContentLength < 3000000)
                        //{
                        String imgPath = ImageFile.ContentType.ToString();

                        //if (imgPath == "image/JPEG" || imgPath == "image/JPG" || imgPath == "image/jpeg" || imgPath == "image/jpg")
                        //{

                        this.ApplicationDbContext.Images.Add(imageEntity);
                        this.ApplicationDbContext.SaveChanges();


                        ImageStorage.SaveFile(Server, ImageFile, imageEntity.Id);
                        QueueConnector.SendToQueue(imageEntity.UserId, imageEntity.Id);


                        return(RedirectToAction("Details", new { Id = imageEntity.Id }));
                        //  }
                        //else
                        //{
                        //    ViewBag.Message = "Please enter only JPEG image file !";
                        //    SelectList tags = new SelectList(db.Tags, "Id", "Name", 1);
                        //    return View(tags);
                        //}
                        //}


                        //else
                        //{
                        //    ViewBag.Message = "Please enter the image with the content size less than 3 MB !";
                        //    SelectList tags = new SelectList(db.Tags, "Id", "Name", 1);
                        //    return View(tags);

                        //}
                    }

                    else
                    {
                        ViewBag.Message = "No image file specified ! ";
                        SelectList tags = new SelectList(db.Tags, "Id", "Name", 1);
                        return(View(tags));
                    }
                }

                else
                {
                    ViewBag.Message = "No such uerid registered !";
                    SelectList tags = new SelectList(db.Tags, "Id", "Name", 1);
                    return(View(tags));
                }
            }
            else
            {
                ViewBag.Message = "Please correct the errors in the form ! ";
                SelectList tags = new SelectList(db.Tags, "Id", "Name", 1);
                return(View(tags));
            }
        }
 private async void getImg(string path, BitmapImage img)
 {
     await ImageStorage.GetLoacalFolderImage(new Uri(path), img);
 }
Exemple #19
0
        /// <summary>
        /// 保存原图片与压缩图片 到磁盘
        /// </summary>
        /// <param name="path">上传图片绝对路径</param>
        /// <param name="oImageStorage">上传图片对象</param>
        /// <param name="imagetype">上传图片类型</param>
        /// <returns></returns>
        //private void saveImage(System.Drawing.Image image, IImageStorage oImageStorage)
        //{
        //    bool slImage;

        //    System.Drawing.Image objImg = image;//System.Drawing.Image.FromFile(path);

        //    ImageRootPath = WebUI.UIBiz.CommonInfo.ImageRootPath;

        //    //原图存储路径
        //    string sourcePath = ImageRootPath + "\\" + CurrentUser.UserLoginName + "\\" + oImageStorage.ItemSerialNum + oImageStorage.ImageType;
        //    try
        //    {
        //        string sourceFolder = Path.Combine(ImageRootPath, CurrentUser.UserLoginName);
        //        if (!Directory.Exists(sourceFolder))
        //        {
        //            // Directory.CreateDirectory(ImageRootPath + "\\" + CurrentUser.UserLoginName);
        //            Directory.CreateDirectory(sourceFolder);
        //        }

        //        //保存原图

        //        this.AttachFile.PostedFile.SaveAs(sourcePath);

        //        SlImageRootPath = WebUI.UIBiz.CommonInfo.SlImageRootPath170;
        //        if (!Directory.Exists(SlImageRootPath + "\\" + CurrentUser.UserLoginName))
        //        {
        //            Directory.CreateDirectory(SlImageRootPath + "\\" + CurrentUser.UserLoginName);
        //        }

        //        //   slImage = ImageController.ConvertImageToScale(sourcePath, 170, SlImageRootPath + "\\" + CurrentUser.UserLoginName + "\\" + oImageStorage.ItemSerialNum  + oImageStorage.ImageType);
        //        ArrayList sarray = new ArrayList();
        //        sarray.Add(sourcePath);
        //        ArrayList aarray = new ArrayList();
        //        aarray.Add(SlImageRootPath + "\\" + CurrentUser.UserLoginName + "\\" + oImageStorage.ItemSerialNum + oImageStorage.ImageType);
        //        ImageController.ToZipImage(sarray, aarray, 170);

        //        SlImageRootPath = WebUI.UIBiz.CommonInfo.SlImageRootPath400;
        //        if (!Directory.Exists(SlImageRootPath + "\\" + CurrentUser.UserLoginName))
        //        {
        //            Directory.CreateDirectory(SlImageRootPath + "\\" + CurrentUser.UserLoginName);
        //        }

        //        sarray = new ArrayList();
        //        sarray.Add(sourcePath);
        //        aarray = new ArrayList();
        //        aarray.Add(SlImageRootPath + "\\" + CurrentUser.UserLoginName + "\\" + oImageStorage.ItemSerialNum + oImageStorage.ImageType);
        //        ImageController.ToZipImage(sarray, aarray, 400);
        //        //   slImage = ImageController.ConvertImageToScale(sourcePath, 400, SlImageRootPath + "\\" + CurrentUser.UserLoginName + "\\" + oImageStorage.ItemSerialNum + oImageStorage.ImageType);

        //    }
        //    catch
        //    {
        //        Response.Write("保存图片出现错误");
        //    }
        //    finally
        //    {

        //    }

        //}


        protected void btnUpload_ServerClick(object sender, EventArgs e)
        {
            if (this.t_Date.Text.Trim() == string.Empty)
            {
                this.ShowMessage(this, "请选择时间");
                return;
            }
            else
            {
                if (Convert.ToDateTime(this.t_Date.Text) > DateTime.Now)
                {
                    this.ShowMessage(this, "拍摄时间应比现在早");
                    return;
                }
            }
            //验证日期
            DateTime sDate = new DateTime();
            DateTime eDate = new DateTime();

            if (this.Calendar_StartDate.Text != "")
            {
                sDate = Convert.ToDateTime(this.Calendar_StartDate.Text);
                if (sDate <= DateTime.Now)
                {
                    this.ShowMessage(this, "有效开始日期应比现在日期晚");
                    return;
                }
            }
            else
            {
                sDate = Convert.ToDateTime("1900-01-01");
            }
            if (this.Calendar_EndDate.Text != "")
            {
                eDate = Convert.ToDateTime(this.Calendar_EndDate.Text);

                if (sDate == Convert.ToDateTime("1900-01-01") && eDate < DateTime.Now)
                {
                    this.ShowMessage(this, "有效结束日期应至少比现在日期晚");
                    return;
                }
                else if (eDate < sDate)
                {
                    this.ShowMessage(this, "有效结束日期应比有效开始日期晚");
                    return;
                }
            }
            else
            {
                eDate = Convert.ToDateTime("1900-01-01");
            }

            //根节点
            TreeNode parentNode = catalogTree.RootNode;
            //获取checked的节点List
            ArrayList nodeList = new ArrayList();

            this.catalogTree.ArrCheckbox(nodeList, parentNode);

            ArrayList catalogIds = new ArrayList(nodeList.Count);

            foreach (TreeNode node in nodeList)
            {
                catalogIds.Add(new Guid(node.Value));
            }

            if (catalogIds.Count == 0)
            {
                this.ShowMessage(this, "没有选择分类,上传失败!");
                return;
            }

            ImageStorage img = new ImageStorage();

            //string uploadvalue = this.ImageUpload.Value.Trim();
            //string fileName = this.AttachFile.FileName; //获取上传文件的全路径 //uploadvalue.Substring(uploadvalue.Trim().LastIndexOf(@"\") + 1);//得到文件
            string fileName = "";

            if (!string.IsNullOrEmpty(Request["selectedFile"]))
            {
                fileName = Request["selectedFile"].ToString();
            }
            string uploadFileName = "";

            if (!string.IsNullOrEmpty(Request["uploadFileName"]))
            {
                uploadFileName = Request["uploadFileName"].ToString();
            }
            //Response.Write("selectedFile:" + fileName);
            //Response.Write("uploadFileName:" + uploadFileName);
            //Response.End();
            #region 组织数据

            img.ImageType = System.IO.Path.GetExtension(fileName).ToLower(); //获取扩展名

            img.FileName    = System.IO.Path.GetFileName(fileName);          //实际文件名称
            img.Keyword     = this.keyWord.Value;
            img.Description = this.imageDes.Value;
            img.shotDate    = Convert.ToDateTime(this.t_Date.Text);
            img.StartDate   = sDate;
            img.EndDate     = eDate;

            img.Caption    = this.txt_Caption.Value;
            img.Address    = this.txt_Address.Value;
            img.Character  = this.txt_Character.Value;
            img.FolderName = CurrentUser.UserLoginName;
            img.userId     = CurrentUser.UserId;
            img.ItemId     = Guid.NewGuid();
            //img.ItemSerialNum = ImageStorageClass.GetImageSeq(DateTime.Now);
            img.ItemSerialNum = Path.GetFileNameWithoutExtension(uploadFileName);
            img.GroupId       = CurrentUser.UserGroupId;
            #endregion
            //modify by dtf 08-06-16 (png,psd,ai)

            System.Drawing.Image m_Image = null;

            if (this.CheckImageType(img.ImageType))// is image format
            {
                if (img.ImageType == "ai")
                {
                    img.Hvsp = "s";
                }
                else
                {
                    // m_Image = System.Drawing.Image.FromFile(fileName);
                    ImageRootPath = WebUI.UIBiz.CommonInfo.ImageRootPath;
                    string sourcePath = ImageRootPath + "\\" + CurrentUser.UserLoginName + "\\" + uploadFileName;
                    //m_Image = System.Drawing.Image.FromStream(this.AttachFile.PostedFile.InputStream);

                    m_Image = System.Drawing.Image.FromFile(sourcePath);

                    Int32 height = Convert.ToInt32(m_Image.Height.ToString());
                    Int32 width  = Convert.ToInt32(m_Image.Width.ToString());

                    if (height > width)
                    {
                        img.Hvsp = "v";
                    }
                    else if (width > height)
                    {
                        img.Hvsp = "h";
                    }
                    else
                    {
                        img.Hvsp = "s";
                    }
                }
            }
            else
            {
                img.Hvsp = string.Empty;
            }

            //存储数据库记录
            // img.ItemSerialNum = ImageStorageClass.AddImageStorage(img);


            if (ImageStorageClass.AddImageStorage(img) == null)
            {
                this.ShowMessage(this, "上传失败");
                return;
            }

            //准能压缩文件
            try
            {
                if (!this.CheckImageType(img.ImageType) ||
                    img.ImageType == "ai")
                {
                    //uploadFile(img);//存储普通文件
                }
                else
                {
                    //saveImage(m_Image, img);//将imageID与catalogID保存到ImageStorage_Catalog表
                }



                ImageStorageClass imageClass = new ImageStorageClass();



                imageClass.CreateRelationshipImageAndCatalog(img.ItemId, (Guid[])catalogIds.ToArray(typeof(Guid)));

                this.t_Date.Text             = "";
                this.imageType.Value         = "";
                this.keyWord.Value           = "";
                this.imageDes.Value          = "";
                this.txt_Address.Value       = "";
                this.txt_Caption.Value       = "";
                this.txt_Character.Value     = "";
                this.Calendar_StartDate.Text = "";
                this.Calendar_EndDate.Text   = "";

                initCalendar();

                this.ShowMessage(this, "上传成功");
            }
            catch (Exception ex)
            {
                LogWriter.WriteExceptionLog(ex);
                this.ShowMessage(this, "上传失败");
            }
            finally
            {
                if (m_Image != null)
                {
                    m_Image.Dispose();
                }
            }
        }
Exemple #20
0
        IEnumerator StoreImages()
        {
            yield return(ImageStorage.Store(gradeImages));

            loaded = true;
        }