Exemplo n.º 1
0
        /// <summary>
        /// Applyes effects to image
        /// </summary>
        public static BitmapImage GetProcessed(BitmapImage sourceImage, List <int> effects)
        {
            var processedImage = ImageProcess.BitmapImageToByte(sourceImage);

            foreach (int effect in effects)
            {
                switch (effect)
                {
                case EditPageVM.EFFECT_LIGHTENING:
                    processedImage = ImageProcess.Brightness(processedImage, 25);
                    break;

                case EditPageVM.EFFECT_SHADOWING:
                    processedImage = ImageProcess.Shadowing(processedImage, 5);
                    break;

                case EditPageVM.EFFECT_CROP:
                    int indent = EditPageVM.IndentToCrop;
                    int width  = sourceImage.PixelWidth - 2 * indent;
                    int height = sourceImage.PixelHeight - 2 * indent;
                    processedImage = ImageProcess.Crop(processedImage, indent, indent, width, height);
                    break;

                case EditPageVM.EFFECT_ROTATE:
                    processedImage = ImageProcess.Rotate(processedImage, -90f);
                    break;

                case EditPageVM.EFFECT_PIXELIZE:
                    processedImage = ImageProcess.Quality(processedImage, 25);
                    break;

                default:
                    break;
                }
            }

            return(ImageProcess.ByteToBitmapImage(processedImage));
        }
Exemplo n.º 2
0
        public void ProcessRequest(HttpContext context)
        {
            StringBuilder sb              = new StringBuilder();
            string        act             = context.Request["act"];
            string        rqPlug          = context.Request["rqPlug"];
            string        imgSaveLoc      = context.Server.MapPath("~/lib/up/i/");
            string        imgTemp         = context.Server.MapPath("~/lib/up/temp/");
            string        docTemp         = context.Server.MapPath("~/lib/up/d/");
            string        imgSaveTintuc   = context.Server.MapPath("~/lib/up/tintuc/");
            string        imgSaveSanPham  = context.Server.MapPath("~/lib/up/sanpham/");
            string        imgSaveQuangCao = context.Server.MapPath("~/lib/up/quangcao/");
            string        imgSaveKTNN     = context.Server.MapPath("~/lib/up/KTNN/");

            string _height   = context.Request["height"];
            string _width    = context.Request["width"];
            string _PRowIdSP = context.Request["PRowIdSP"];

            switch (act)
            {
            case "loadPlug":
                #region loadPlug: nap plug
                if (rqPlug != null)
                {
                    sb.Append(PlugHelper.RenderHtml(rqPlug));
                }
                rendertext(sb);
                break;

                #endregion
            case "upload":
                #region upload ?nh
                if (context.Request.Files[0] != null)
                {
                    string imgten = Guid.NewGuid().ToString();
                    if (!string.IsNullOrEmpty(context.Request["oldFile"]))
                    {
                        try
                        {
                            imgten = Path.GetFileNameWithoutExtension(context.Request["oldFile"]);
                            if (File.Exists(imgSaveLoc + context.Request["oldFile"]))
                            {
                                File.Delete(imgSaveLoc + context.Request["oldFile"]);
                            }
                        }
                        finally
                        {
                        }
                    }
                    ImageProcess img = new ImageProcess(context.Request.Files[0].InputStream, imgten);
                    context.Request.Files[0].SaveAs(imgSaveLoc + imgten + "full" + img.Ext);

                    img.Crop(420, 560);
                    img.Save(imgSaveLoc + imgten + "420x560" + img.Ext);

                    img.Crop(240, 180);
                    img.Save(imgSaveLoc + imgten + "240x180" + img.Ext);

                    img.Crop(100, 100);
                    img.Save(imgSaveLoc + imgten + "100x100" + img.Ext);

                    img.Crop(50, 50);
                    img.Save(imgSaveLoc + imgten + img.Ext);

                    rendertext(imgten + img.Ext);
                }

                break;

                #endregion
            case "uploadQuangCao":
                #region upload ?nh
                if (context.Request.Files[0] != null)
                {
                    string imgten = Guid.NewGuid().ToString();
                    if (!string.IsNullOrEmpty(context.Request["oldFile"]))
                    {
                        try
                        {
                            imgten = Path.GetFileNameWithoutExtension(context.Request["oldFile"]);
                            if (File.Exists(imgSaveQuangCao + context.Request["oldFile"]))
                            {
                                File.Delete(imgSaveQuangCao + context.Request["oldFile"]);
                            }
                        }
                        finally
                        {
                        }
                    }
                    ImageProcess img = new ImageProcess(context.Request.Files[0].InputStream, Guid.NewGuid().ToString());
                    img.Save(imgSaveQuangCao + imgten + "source" + img.Ext);
                    img.Crop(int.Parse(_width), int.Parse(_height));
                    img.Save(imgSaveQuangCao + imgten + img.Ext);
                    rendertext(imgten + img.Ext);
                }

                break;

                #endregion
            case "uploadSanPham":
                #region upload ?nh
                if (context.Request.Files[0] != null)
                {
                    string imgten = Guid.NewGuid().ToString();
                    if (!string.IsNullOrEmpty(context.Request["oldFile"]))
                    {
                        try
                        {
                            imgten = Path.GetFileNameWithoutExtension(context.Request["oldFile"]);
                            if (File.Exists(imgSaveSanPham + context.Request["oldFile"]))
                            {
                                File.Delete(imgSaveSanPham + context.Request["oldFile"]);
                            }
                        }
                        finally
                        {
                        }
                    }
                    ImageProcess img = new ImageProcess(context.Request.Files[0].InputStream, Guid.NewGuid().ToString());
                    img.Crop(400, 400);
                    img.Save(imgSaveSanPham + imgten + "400x400" + img.Ext);
                    img.Crop(400, 300);
                    img.Save(imgSaveSanPham + imgten + "400x300" + img.Ext);
                    img.Crop(200, 200);
                    img.Save(imgSaveSanPham + imgten + "200x200" + img.Ext);
                    img.Crop(90, 90);
                    img.Save(imgSaveSanPham + imgten + img.Ext);
                    rendertext(imgten + img.Ext);
                }

                break;

                #endregion
            case "uploadTintuc":
                #region upload ?nh
                if (Security.IsAuthenticated())
                {
                    if (context.Request.Files[0] != null)
                    {
                        string imgten = Guid.NewGuid().ToString();
                        if (!string.IsNullOrEmpty(context.Request["oldFile"]))
                        {
                            try
                            {
                                imgten = Path.GetFileNameWithoutExtension(context.Request["oldFile"]);
                                if (File.Exists(imgSaveTintuc + context.Request["oldFile"]))
                                {
                                    File.Delete(imgSaveTintuc + context.Request["oldFile"]);
                                }
                            }
                            finally
                            {
                            }
                        }
                        ImageProcess img = new ImageProcess(context.Request.Files[0].InputStream, Guid.NewGuid().ToString());
                        context.Request.Files[0].SaveAs(imgSaveTintuc + imgten + "full" + img.Ext);
                        img.Crop(180, 120);
                        img.Save(imgSaveTintuc + imgten + img.Ext);
                        rendertext(imgten + img.Ext);
                    }
                }
                break;

                #endregion
            case "uploadKTNN":
                #region upload ?nh
                if (Security.IsAuthenticated())
                {
                    if (context.Request.Files[0] != null)
                    {
                        string imgten = Guid.NewGuid().ToString();
                        if (!string.IsNullOrEmpty(context.Request["oldFile"]))
                        {
                            try
                            {
                                imgten = Path.GetFileNameWithoutExtension(context.Request["oldFile"]);
                                if (File.Exists(imgSaveKTNN + context.Request["oldFile"]))
                                {
                                    File.Delete(imgSaveKTNN + context.Request["oldFile"]);
                                }
                            }
                            finally
                            {
                            }
                        }
                        ImageProcess img = new ImageProcess(context.Request.Files[0].InputStream, Guid.NewGuid().ToString());
                        img.Crop(730, 600);
                        img.Save(imgSaveKTNN + imgten + "730x600" + img.Ext);
                        img.Crop(420, 280);
                        img.Save(imgSaveKTNN + imgten + "420x280" + img.Ext);
                        img.Crop(130, 100);
                        img.Save(imgSaveKTNN + imgten + img.Ext);
                        rendertext(imgten + img.Ext);
                    }
                }
                break;

                #endregion
            case "uploadFlash":
                #region upload flash
                if (context.Request.Files[0] != null)
                {
                    string imgten = Guid.NewGuid().ToString();
                    if (!string.IsNullOrEmpty(context.Request["oldFile"]))
                    {
                        try
                        {
                            imgten = Path.GetFileNameWithoutExtension(context.Request["oldFile"]);
                            if (File.Exists(imgSaveLoc + context.Request["oldFile"]))
                            {
                                File.Delete(imgSaveLoc + context.Request["oldFile"]);
                            }
                        }
                        finally
                        {
                        }
                    }
                    if (Path.GetExtension(context.Request.Files[0].FileName).ToLower() == ".swf")
                    {
                        string flash = Guid.NewGuid().ToString();

                        context.Request.Files[0].SaveAs(context.Server.MapPath("~/lib/up/v/") + flash + Path.GetExtension(context.Request.Files[0].FileName));
                        rendertext(flash + Path.GetExtension(context.Request.Files[0].FileName));
                    }
                    else
                    {
                        ImageProcess img = new ImageProcess(context.Request.Files[0].InputStream, Guid.NewGuid().ToString());
                        img.Crop(420, 280);
                        img.Save(imgSaveLoc + imgten + "420x280" + img.Ext);
                        img.Crop(130, 100);
                        img.Save(imgSaveLoc + imgten + img.Ext);
                        img.Crop(370, 90);
                        img.Save(imgSaveLoc + imgten + "370x90" + img.Ext);
                        rendertext(imgten + img.Ext);
                    }
                }

                break;

                #endregion
            case "uploadFull":
                #region upload ?nh
                if (context.Request.Files[0] != null)
                {
                    string imgten = Guid.NewGuid().ToString();
                    if (!string.IsNullOrEmpty(context.Request["oldFile"]))
                    {
                        try
                        {
                            imgten = Path.GetFileNameWithoutExtension(context.Request["oldFile"]);
                            if (File.Exists(imgSaveLoc + context.Request["oldFile"]))
                            {
                                File.Delete(imgSaveLoc + context.Request["oldFile"]);
                            }
                        }
                        finally
                        {
                        }
                    }
                    ImageProcess img = new ImageProcess(context.Request.Files[0].InputStream, Guid.NewGuid().ToString());
                    img.Save(imgSaveLoc + imgten + img.Ext);
                    rendertext(imgten + img.Ext);
                }
                break;

                #endregion
            case "uploadfileDkLuong":
                #region upload tài li?u
                //if (!loggedIn) rendertext("403");
                if (context.Request.Files[0] != null)
                {
                    string foldername = Guid.NewGuid().ToString().Replace("-", "");
                    string filename   = Path.GetFileNameWithoutExtension(context.Request.Files[0].FileName);
                    string fileType   = Path.GetExtension(context.Request.Files[0].FileName);
                    Directory.CreateDirectory(docTemp + foldername);
                    context.Request.Files[0].SaveAs(docTemp + foldername + "/" + filename + fileType);
                    //context.Request.Files[0].SaveAs(docTemp +  filename + fileType);
                    Files item = new Files();
                    item.Download = 0;
                    item.MimeType = fileType;
                    item.NgayTao  = DateTime.Now;
                    item.NguoiTao = Security.Username;
                    item.Path     = filename;
                    item.PID      = Guid.NewGuid();
                    item.RowId    = Guid.NewGuid();
                    item.Size     = context.Request.Files[0].ContentLength;
                    item.Ten      = filename;
                    item.ThuMuc   = foldername;
                    item.VB_ID    = 0;
                    item          = FilesDal.Insert(item);
                    rendertext(item.ID.ToString());
                }
                break;

                #endregion
            case "download":
                string _F_ID = context.Request["ID"];
                if (!string.IsNullOrEmpty(_F_ID))
                {
                    Files item = FilesDal.SelectById(Convert.ToInt32(_F_ID));
                    context.Response.Buffer = true;
                    context.Response.Clear();
                    context.Response.AddHeader("content-disposition", "attachment; filename=\"" + item.Ten + item.MimeType + "\"");
                    context.Response.ContentType = "octet/stream";
                    //Response.ContentType = "application/ms-word";
                    context.Response.WriteFile(context.Server.MapPath("~/lib/up/d/") + item.ThuMuc + "/" + item.Path + item.MimeType);
                }
                break;

            case "uploadvideo":
                if (Security.IsAuthenticated())
                {
                    if (context.Request.Files[0] != null)
                    {
                        string imgten         = Guid.NewGuid().ToString();
                        string strVideoRender = "";
                        context.Request.Files[0].SaveAs(context.Server.MapPath("~/lib/up/v/") + imgten + Path.GetExtension(context.Request.Files[0].FileName));
                        string _hinhanh = "";
                        string fWmv     = "";
                        if (Path.GetExtension(context.Request.Files[0].FileName).ToLower() == ".flv")
                        {
                            fWmv = WMV_encode(context, imgten + Path.GetExtension(context.Request.Files[0].FileName), "320", "240", "64", "44100");
                            context.Request.Files[0].SaveAs(context.Server.MapPath("~/lib/up/v/") + fWmv);
                            _hinhanh = CreatImg(context, fWmv, imgten + Path.GetExtension(context.Request.Files[0].FileName));
                            System.IO.File.Delete(context.Server.MapPath("~/lib/up/v/") + fWmv);
                        }
                        else
                        {
                            fWmv = FLV_encode(context, imgten + Path.GetExtension(context.Request.Files[0].FileName), "320", "240", "64", "44100");

                            fWmv     = context.Request.Files[0].FileName;
                            _hinhanh = CreatImg(context, imgten + Path.GetExtension(context.Request.Files[0].FileName), imgten + Path.GetExtension(context.Request.Files[0].FileName));
                        }
                        rendertext(_hinhanh + ";" + imgten + Path.GetExtension(context.Request.Files[0].FileName));
                    }
                }

                break;

            case "DelOldFlash":
                System.IO.File.Delete(context.Server.MapPath("~/lib/up/v/") + Path.GetExtension(context.Request.Files[0].FileName));
                System.IO.File.Delete(context.Server.MapPath("~/lib/up/i/") + Path.GetExtension(context.Request.Files[0].FileName));
                break;

            case "MultiuploadImg":
                #region UploadAnh
                if (context.Request.Files[0] != null)
                {
                    ImageProcess img        = new ImageProcess(context.Request.Files[0].InputStream, Guid.NewGuid().ToString());
                    string       foldername = Guid.NewGuid().ToString().Replace("-", "");
                    string       imgten     = Guid.NewGuid().ToString();
                    Directory.CreateDirectory(imgSaveSanPham + foldername);

                    context.Request.Files[0].SaveAs(imgSaveSanPham + foldername + "/" + imgten + "full" + img.Ext);
                    img.Crop(400, 400);

                    img.Save(imgSaveSanPham + foldername + "/" + imgten + "400x400" + img.Ext);
                    img.Crop(75, 75);

                    img.Save(imgSaveSanPham + foldername + "/" + imgten + img.Ext);
                    Files item = new Files();
                    item.Download = 0;
                    item.MimeType = img.Ext;
                    item.NgayTao  = DateTime.Now;
                    item.NguoiTao = Security.Username;
                    item.Path     = imgten + img.Ext;
                    item.PID      = new Guid(_PRowIdSP);
                    item.RowId    = Guid.NewGuid();
                    item.Size     = context.Request.Files[0].ContentLength;
                    item.Ten      = imgten;
                    item.ThuMuc   = foldername;
                    item.VB_ID    = 0;
                    item          = FilesDal.Insert(item);
                    rendertext(sb.AppendFormat("({0})", JavaScriptConvert.SerializeObject(item)));
                }
                break;

                #endregion
            case "loadPlugDirect":
                if (!string.IsNullOrEmpty(rqPlug))
                {
                    string _IPlugType = rqPlug;
                    Type   type       = Type.GetType(_IPlugType);
                    IPlug  _IPlug     = (IPlug)(Activator.CreateInstance(type));
                    _IPlug.ImportPlugin();
                    UserControl uc   = (UserControl)(_IPlug);
                    Page        page = new Page();
                    page.EnableViewState = false;
                    HtmlForm form = new HtmlForm();
                    form.ID = "__t";
                    page.Controls.Add(form);
                    form.Controls.Add(uc);
                    StringWriter tw = new StringWriter();
                    HttpContext.Current.Server.Execute(page, tw, true);
                }
                break;

            case "capcha":
                #region capcha
                string _capchaCode = CaptchaImage.GenerateRandomCode(CaptchaType.AlphaNumeric, 3);
                context.Session["capcha"] = _capchaCode;
                CaptchaImage c = new CaptchaImage(_capchaCode, 200, 50, "Tahoma", Color.White, Color.Orange);
                context.Response.ClearContent();
                context.Response.ContentType = "image/jpeg";
                MemoryStream ms = new MemoryStream();
                c.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                context.Response.OutputStream.Write(ms.ToArray(), 0, Convert.ToInt32(ms.Length));
                ms.Close();
                context.Response.End();
                break;

                #endregion
            default:
                #region macdinh
                context.Response.Write(DateTime.Now.ToString("hh:mm"));
                break;
                #endregion
            }
        }
Exemplo n.º 3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        StringBuilder sb = new StringBuilder();

        string imgSaveLoc    = Server.MapPath("~/lib/up/i/");
        string imgSaveTintuc = Server.MapPath("~/lib/up/tintuc/");
        string imgTemp       = Server.MapPath("~/lib/up/temp/");
        string docTemp       = Server.MapPath("~/lib/up/d/");
        bool   loggedIn      = Security.IsAuthenticated();

        insertLog("0", Security.Username, Request.UserHostAddress, Request.Url.PathAndQuery);
        switch (act)
        {
        case "loadPlug":
            if (rqPlug != null)
            {
                sb.Append(PlugHelper.RenderHtml(rqPlug));
            }
            rendertext(sb);
            break;

        case "upload":
            #region upload ảnh
            if (Security.IsAuthenticated())
            {
                if (Request.Files[0] != null)
                {
                    string imgten = Guid.NewGuid().ToString();
                    if (!string.IsNullOrEmpty(Request["oldFile"]))
                    {
                        try
                        {
                            imgten = Path.GetFileNameWithoutExtension(Request["oldFile"]);
                            if (File.Exists(imgSaveLoc + Request["oldFile"]))
                            {
                                File.Delete(imgSaveLoc + Request["oldFile"]);
                            }
                        }
                        finally
                        {
                        }
                    }
                    ImageProcess img = new ImageProcess(Request.Files[0].InputStream, Guid.NewGuid().ToString());
                    img.Crop(730, 600);
                    img.Save(imgSaveLoc + imgten + "730x600" + img.Ext);
                    img.Crop(420, 280);
                    img.Save(imgSaveLoc + imgten + "420x280" + img.Ext);
                    img.Crop(130, 100);
                    img.Save(imgSaveLoc + imgten + img.Ext);
                    rendertext(imgten + img.Ext);
                }
            }
            break;

            #endregion
        case "uploadTintuc":
            #region upload ảnh
            if (Security.IsAuthenticated())
            {
                if (Request.Files[0] != null)
                {
                    string imgten = Guid.NewGuid().ToString();
                    if (!string.IsNullOrEmpty(Request["oldFile"]))
                    {
                        try
                        {
                            imgten = Path.GetFileNameWithoutExtension(Request["oldFile"]);
                            if (File.Exists(imgSaveLoc + Request["oldFile"]))
                            {
                                File.Delete(imgSaveLoc + Request["oldFile"]);
                            }
                        }
                        finally
                        {
                        }
                    }
                    ImageProcess img = new ImageProcess(Request.Files[0].InputStream, Guid.NewGuid().ToString());
                    img.Crop(730, 600);
                    img.Save(imgSaveTintuc + imgten + "730x600" + img.Ext);
                    img.Crop(420, 280);
                    img.Save(imgSaveTintuc + imgten + "420x280" + img.Ext);
                    img.Crop(130, 100);
                    img.Save(imgSaveTintuc + imgten + img.Ext);
                    rendertext(imgten + img.Ext);
                }
            }
            break;

            #endregion
        case "uploadFull":
            #region upload ảnh
            if (Security.IsAuthenticated())
            {
                if (Request.Files[0] != null)
                {
                    string imgten = Guid.NewGuid().ToString();
                    if (!string.IsNullOrEmpty(Request["oldFile"]))
                    {
                        try
                        {
                            imgten = Path.GetFileNameWithoutExtension(Request["oldFile"]);
                            if (File.Exists(imgSaveLoc + Request["oldFile"]))
                            {
                                File.Delete(imgSaveLoc + Request["oldFile"]);
                            }
                        }
                        finally
                        {
                        }
                    }
                    ImageProcess img = new ImageProcess(Request.Files[0].InputStream, Guid.NewGuid().ToString());
                    img.Save(imgSaveLoc + imgten + img.Ext);
                    rendertext(imgten + img.Ext);
                }
            }
            break;

            #endregion
        case "uploadfileDkLuong":
            #region upload tài liệu
            if (!loggedIn)
            {
                rendertext("403");
            }
            if (Request.Files[0] != null)
            {
                string foldername = Guid.NewGuid().ToString().Replace("-", "");
                string filename   = Path.GetFileNameWithoutExtension(Request.Files[0].FileName);
                string fileType   = Path.GetExtension(Request.Files[0].FileName);
                Directory.CreateDirectory(docTemp + foldername);
                Request.Files[0].SaveAs(docTemp + foldername + "/" + filename + fileType);
                Files item = new Files();
                item.Download = 0;
                item.MimeType = fileType;
                item.NgayTao  = DateTime.Now;
                item.NguoiTao = Security.Username;
                item.Path     = filename;
                item.PID      = Guid.NewGuid();
                item.RowId    = Guid.NewGuid();
                item.Size     = Request.Files[0].ContentLength;
                item.Ten      = filename;
                item.ThuMuc   = foldername;
                item.VB_ID    = 0;
                item          = FilesDal.Insert(item);
                rendertext(item.ID.ToString());
            }
            break;

            #endregion
        case "download":
            string _F_ID = Request["ID"];
            if (!string.IsNullOrEmpty(_F_ID))
            {
                Files item = FilesDal.SelectById(Convert.ToInt32(_F_ID));
                Response.Buffer = true;
                Response.Clear();
                Response.AddHeader("content-disposition", "attachment; filename=\"" + item.Ten + item.MimeType + "\"");
                Response.ContentType = "octet/stream";
                //Response.ContentType = "application/ms-word";
                Response.WriteFile(Server.MapPath("~/lib/up/d/") + item.ThuMuc + "/" + item.Path + item.MimeType);
            }
            break;

        case "loadPlugDirect":
            if (!string.IsNullOrEmpty(rqPlug))
            {
                string _IPlugType = rqPlug;
                Type   type       = Type.GetType(_IPlugType);
                IPlug  _IPlug     = (IPlug)(Activator.CreateInstance(type));
                _IPlug.ImportPlugin();
                Page        pageHolder = new Page();
                UserControl uc         = (UserControl)(_IPlug);
                this.Controls.Add(uc);
            }
            break;

        case "uploadvideo":

            break;

        default:
            string d = "12/9/2010";
            //DateTime da = Convert.ToDateTime(d, new System.Globalization.CultureInfo("vi-Vn"));
            //Response.Write(da.Month.ToString());
            Response.Write(maHoa.EncryptString("111", "phatcd"));
            break;
        }
    }
Exemplo n.º 4
0
        public RegularTin(string url, string uploadDir, List <ImageSize> images)
        {
            var host = new Uri(url).Host.ToLower();
            var doc  = loadDoc(url);
            var list = QuyTacDal.SelectByHost(host).ToList();

            WrapperClean(host, url, doc);
            #region Lấy Ten,Mota, Noi Dung
            foreach (var item in list)
            {
                var c = doc.DocumentNode.SelectSingleNode(@item.Xpath);
                switch (item.Loai)
                {
                case 0:    // renew doc
                    if (c != null)
                    {
                        doc = new HtmlAgilityPack.HtmlDocument();
                        doc.LoadHtml(c.InnerHtml);
                    }
                    break;

                case 1:    // Title
                    if (c != null)
                    {
                        Ten = c.InnerText;
                    }
                    else
                    {
                        c = doc.DocumentNode.SelectNodes(@"//title | //TITLE")[0];
                        if (c != null)
                        {
                            Ten = c.InnerText;
                        }
                    }
                    break;

                case 2:
                    if (c != null)
                    {
                        MoTa = c.InnerHtml;
                    }
                    else
                    {
                        c = doc.DocumentNode.SelectNodes(@"//meta[@name='description'] | //meta[@name='DESCRIPTION'] | //meta[@name='Description']")[0];
                        if (c != null)
                        {
                            MoTa = c.InnerText;
                        }
                    }
                    break;

                case 3:

                    if (item.Xoa)
                    {
                        if (c != null)
                        {
                            c.ParentNode.RemoveChild(c, false);
                        }
                    }
                    else
                    {
                        if (c != null)
                        {
                            NoiDung = c.InnerHtml;
                        }
                    }
                    break;

                default:
                    break;
                }
            }
            #endregion
            #region Images

            if (string.IsNullOrEmpty(NoiDung))
            {
                return;
            }
            var doc1 = new HtmlAgilityPack.HtmlDocument();
            doc1.LoadHtml(NoiDung);
            #region Keywords
            using (var linkKeyword = new LinkKeyword(doc1.DocumentNode.InnerText))
            {
                if (linkKeyword.ListKeyWord != null)
                {
                    KeyWords = linkKeyword.ListKeyWord;
                }
            }
            #endregion
            var           domain       = "http://" + host;
            var           saveLocation = HostingEnvironment.MapPath("~/lib/up/");
            List <string> _list        = new List <string>();
            if (doc1.DocumentNode.SelectNodes("//img | //IMG") != null)
            {
                foreach (var img in doc1.DocumentNode.SelectNodes("//img | //IMG"))
                {
                    if (img.Attributes["src"] != null)
                    {
                        string src = img.Attributes["src"].Value;
                        if (src.ToLower().IndexOf("http://", System.StringComparison.Ordinal) != 0)
                        {
                            if (src.IndexOf("/", System.StringComparison.Ordinal) != 0)
                            {
                                src = "/" + src;
                            }
                            src = domain + src;
                        }
                        try
                        {
                            var gimg = new ImageProcess(new Uri(src), src);
                            if (gimg.Width > 250 && gimg.Heigth > 200)
                            {
                                var imgTen = Guid.NewGuid().ToString().Replace("-", "");
                                foreach (var imageSize in images)
                                {
                                    gimg.Crop(imageSize.Width, imageSize.Height);
                                    gimg.Save(Path.Combine(uploadDir,
                                                           string.Format("{0}{1}.{2}", imgTen,
                                                                         imageSize.DefaultImage
                                                                             ? ""
                                                                             : string.Format("{0}x{1}",
                                                                                             imageSize.Width,
                                                                                             imageSize.Height),
                                                                         gimg.Ext)));
                                }
                                break;
                            }
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                }
                if (_list.Count == 0)
                {
                    return;
                }
                Anh = _list[0];
            }

            #endregion
        }
Exemplo n.º 5
0
        public RegularTin(string url, string uploadDir)
        {
            string _host = string.Empty;

            _host = new Uri(url).Host.ToLower();
            HtmlAgilityPack.HtmlDocument doc = loadDoc(url);
            List <QuyTac> List = QuyTacDal.SelectByHost(_host).ToList();

            WrapperClean(_host, url, doc);
            #region Lấy Ten,Mota, Noi Dung
            foreach (QuyTac item in List)
            {
                HtmlNode _c = doc.DocumentNode.SelectSingleNode(@item.Xpath);
                switch (item.Loai)
                {
                case 0:    // renew doc
                    if (_c != null)
                    {
                        doc = new HtmlAgilityPack.HtmlDocument();
                        doc.LoadHtml(_c.InnerHtml);
                    }
                    break;

                case 1:    // Title
                    if (_c != null)
                    {
                        Ten = _c.InnerText;
                    }
                    else
                    {
                        _c = doc.DocumentNode.SelectNodes(@"//title | //TITLE")[0];
                        if (_c != null)
                        {
                            Ten = _c.InnerText;
                        }
                    }
                    break;

                case 2:
                    if (_c != null)
                    {
                        MoTa = _c.InnerHtml;
                    }
                    else
                    {
                        _c = doc.DocumentNode.SelectNodes(@"//meta[@name='description'] | //meta[@name='DESCRIPTION'] | //meta[@name='Description']")[0];
                        if (_c != null)
                        {
                            MoTa = _c.InnerText;
                        }
                    }
                    break;

                case 3:

                    if (item.Xoa)
                    {
                        if (_c != null)
                        {
                            _c.ParentNode.RemoveChild(_c, false);
                        }
                    }
                    else
                    {
                        if (_c != null)
                        {
                            NoiDung = _c.InnerHtml;
                        }
                    }
                    break;

                default:
                    break;
                }
            }
            #endregion
            #region Images
            if (!string.IsNullOrEmpty(NoiDung))
            {
                HtmlAgilityPack.HtmlDocument _doc1 = new HtmlAgilityPack.HtmlDocument();
                _doc1.LoadHtml(NoiDung);
                #region Keywords
                using (LinkKeyword _linkKeyword = new LinkKeyword(_doc1.DocumentNode.InnerText))
                {
                    if (_linkKeyword.ListKeyWord != null)
                    {
                        KeyWords = _linkKeyword.ListKeyWord;
                    }
                }
                #endregion
                string domain       = "http://" + _host;
                string saveLocation = HostingEnvironment.MapPath("~/lib/up/");
                //string uploadDir = @"D:\Work\linh\ktt_x1\web\lib\up\rss\";
                //string uploadDir = @"C:\inetpub\wwwroot\kttvn\web\lib\up\rss\";
                if (_doc1.DocumentNode.SelectNodes("//img | //IMG") != null)
                {
                    List <string> _list = new List <string>();
                    foreach (HtmlNode _img in _doc1.DocumentNode.SelectNodes("//img | //IMG"))
                    {
                        if (_img.Attributes["src"] != null)
                        {
                            string src = _img.Attributes["src"].Value;
                            if (src.ToLower().IndexOf("http://") != 0)
                            {
                                if (src.IndexOf("/") != 0)
                                {
                                    src = "/" + src;
                                }
                                src = domain + src;
                            }
                            try
                            {
                                ImageProcess gimg = new ImageProcess(new Uri(src), src);
                                if (gimg.Width > 250 && gimg.Heigth > 200)
                                {
                                    var gimg_t   = Guid.NewGuid().ToString().Replace("-", "");
                                    var gimg_ten = gimg_t + gimg.Ext;
                                    _list.Add(gimg_ten);

                                    gimg_ten = gimg_t + "420x290" + gimg.Ext;
                                    gimg.Crop(420, 300);
                                    saveLocation = Path.Combine(uploadDir, gimg_ten);
                                    gimg.Save(saveLocation);
                                    _list.Add(gimg_ten);

                                    gimg_ten = gimg_t + "150x160" + gimg.Ext;
                                    gimg.Crop(150, 160);
                                    saveLocation = Path.Combine(uploadDir, gimg_ten);
                                    gimg.Save(saveLocation);
                                    _list.Add(gimg_ten);


                                    gimg_ten = gimg_t + "105x70" + gimg.Ext;
                                    gimg.Crop(105, 70);
                                    saveLocation = Path.Combine(uploadDir, gimg_ten);
                                    gimg.Save(saveLocation);
                                    _list.Add(gimg_ten);

                                    gimg_ten = gimg_t + "100x100" + gimg.Ext;
                                    gimg.Crop(100, 100);
                                    saveLocation = Path.Combine(uploadDir, gimg_ten);
                                    gimg.Save(saveLocation);
                                    _list.Add(gimg_ten);

                                    gimg_ten = gimg_t + "50x50" + gimg.Ext;
                                    gimg.Crop(50, 50);
                                    saveLocation = Path.Combine(uploadDir, gimg_ten);
                                    gimg.Save(saveLocation);
                                    _list.Add(gimg_ten);
                                    break;
                                }
                            }
                            catch (Exception ex)
                            {
                            }
                        }
                    }
                    if (_list.Count == 0)
                    {
                        return;
                    }
                    Anh = _list[0];
                }
            }

            #endregion
        }