コード例 #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Callback = Request.QueryString["Callback"];

            _4screen.CSB.Extensions.Business.TrackingManager.TrackEventPage(null, null, IsPostBack, LogSitePageType.WizardSpezial);

            if (!string.IsNullOrEmpty(Request.QueryString["CN"]))
            {
                folderId = Request.QueryString["CN"];
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["UI"]))
            {
                folderId = Request.QueryString["UI"];
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["ParentId"]))
            {
                folderId = Request.QueryString["ParentId"];
            }

            if (RadUpload.UploadedFiles.Count > 0)
            {
                _4screen.CSB.ImageHandler.Business.ImageHandler imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(_4screen.CSB.Common.SiteConfig.MediaDomainName, ConfigurationManager.AppSettings["ConverterRootPath"], folderId, null, true, Server.MapPath("/Configurations"));

                Telerik.Web.UI.UploadedFile uploadedFile = RadUpload.UploadedFiles[0];
                string originalExtension = uploadedFile.GetName().Substring(uploadedFile.GetName().LastIndexOf('.'));
                string archiveFolder     = string.Format(@"{0}\{1}\BG\{2}", System.Configuration.ConfigurationManager.AppSettings["ConverterRootPathMedia"], folderId, PictureVersion.A);
                if (!Directory.Exists(archiveFolder))
                {
                    Directory.CreateDirectory(archiveFolder);
                }
                string archiveFilename = string.Format(@"{0}\{1}{2}", archiveFolder, imageHandler.ImageName, originalExtension);
                uploadedFile.SaveAs(archiveFilename);

                imageHandler.DoConvert(archiveFilename, actionProfileResizeLarge, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                imageHandler.DoConvert(archiveFilename, actionProfileResizeExtraSmall, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
            }

            LoadPictures();
        }
コード例 #2
0
        private void BindValidResults()
        {
            _4screen.CSB.ImageHandler.Business.ImageHandler imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(_4screen.CSB.Common.SiteConfig.MediaDomainName, ConfigurationManager.AppSettings["ConverterRootPath"], dataObject.UserID.ToString(), objectId.ToString(), true, Server.MapPath("/Configurations"));

            if (RadUpload1.UploadedFiles.Count > 0)
            {
                pnlUploadFinish.Visible = false;
                Telerik.Web.UI.UploadedFile uploadedFile = RadUpload1.UploadedFiles[0];
                if (!string.IsNullOrEmpty(Request.QueryString["TemplateID"]))
                {
                    Guid templateId = Request.QueryString["TemplateID"].ToGuid();
                    template = DataObject.Load <DataObject>(templateId, null, false);
                }
                if (template != null && template.State != ObjectState.Added)
                {
                    Helper.SetActions(Helper.GetPictureFormatFromFilename(uploadedFile.GetName()), template.ObjectType, out actionProfileCropCheckAndArchive, out actionProfileResizeLarge, out actionProfileResizeMedium, out actionProfileResizeSmall, out actionProfileResizeExtraSmall, out actionProfileCrop, imageTypes);
                }
                else
                {
                    Helper.SetActions(Helper.GetPictureFormatFromFilename(uploadedFile.GetName()), dataObject.ObjectType, out actionProfileCropCheckAndArchive, out actionProfileResizeLarge, out actionProfileResizeMedium, out actionProfileResizeSmall, out actionProfileResizeExtraSmall, out actionProfileCrop, imageTypes);
                }
                string originalExtension = uploadedFile.GetName().Substring(uploadedFile.GetName().LastIndexOf('.'));
                string archivedFilename  = System.IO.Path.Combine(imageHandler.GetPhysicalImagePath(actionProfileCropCheckAndArchive), imageHandler.ImageName + originalExtension);
                uploadedFile.SaveAs(archivedFilename, true);

                imageHandler.DoConvert(archivedFilename, actionProfileCropCheckAndArchive, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                archivedFilename = imageHandler.TargetImage;
                int originalImageHeight    = imageHandler.ImageInfo.Height;
                int originalImageWidth     = imageHandler.ImageInfo.Width;
                int cropLimitHeight        = imageHandler.OriginalCropHeight(actionProfileCropCheckAndArchive);
                int cropLimitWidth         = imageHandler.OriginalCropWidth(actionProfileCropCheckAndArchive);
                int maxVisualWidthOrHeight = imageHandler.GetMaxVisualWidthOrHeight(actionProfileCropCheckAndArchive);

                if (originalImageHeight < cropLimitHeight && originalImageWidth < cropLimitWidth) // No need for cropping
                {
                    imageHandler.DoConvert(archivedFilename, actionProfileResizeExtraSmall, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    imageHandler.DoConvert(archivedFilename, actionProfileResizeSmall, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    if (actionProfileResizeMedium != null)
                    {
                        imageHandler.DoConvert(archivedFilename, actionProfileResizeMedium, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    }
                    imageHandler.DoConvert(archivedFilename, actionProfileResizeLarge, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    SaveDataObject(imageHandler.ImageName);

                    if (string.IsNullOrEmpty(Request.QueryString["ReturnURL"]))
                    {
                        litScript.Text = "<script language=\"javascript\">$telerik.$(function() { RefreshParentPage(true); CloseWindow(); } );</script>";
                    }
                    else
                    {
                        litScript.Text = string.Format("<script language=\"javascript\">$telerik.$(function() {{ RedirectParentPage('{0}'); CloseWindow(); }} );</script>", Encoding.ASCII.GetString(Convert.FromBase64String(Request.QueryString["ReturnURL"])));
                    }
                }
                else
                {
                    ViewState["sourceImg"]   = archivedFilename;
                    ViewState["ImageWidth"]  = originalImageWidth;
                    ViewState["ImageHeight"] = originalImageHeight;
                    ViewState["MaxSize"]     = maxVisualWidthOrHeight;

                    pnlCroping.Visible      = true;
                    pnlUploadFinish.Visible = false;
                    pnlUpload.Visible       = false;
                    if (!string.IsNullOrEmpty(Request.QueryString["TemplateID"]))
                    {
                        this.PnlTitle.Visible = true;
                    }

                    if (originalImageHeight > originalImageWidth && originalImageHeight > maxVisualWidthOrHeight)
                    {
                        Crop.CroppedImageHeight = maxVisualWidthOrHeight;
                        Crop.CroppedImageWidth  = (int)((float)maxVisualWidthOrHeight * (float)originalImageWidth / (float)originalImageHeight);
                    }
                    else if (originalImageHeight < originalImageWidth && originalImageWidth > maxVisualWidthOrHeight)
                    {
                        Crop.CroppedImageHeight = (int)((float)maxVisualWidthOrHeight * (float)originalImageHeight / (float)originalImageWidth);
                        Crop.CroppedImageWidth  = maxVisualWidthOrHeight;
                    }
                    else if (originalImageWidth > maxVisualWidthOrHeight)
                    {
                        Crop.CroppedImageHeight = maxVisualWidthOrHeight;
                        Crop.CroppedImageWidth  = maxVisualWidthOrHeight;
                    }
                    else
                    {
                        Crop.CroppedImageHeight = originalImageHeight;
                        Crop.CroppedImageWidth  = originalImageWidth;
                    }
                    Crop.AllowQualityLoss = true;

                    FileStream stream = File.Open(archivedFilename, FileMode.Open);
                    byte[]     buffer = new byte[stream.Length];
                    stream.Read(buffer, 0, buffer.Length);
                    stream.Dispose();
                    Crop.SourceImage = buffer;
                }
            }
        }