Ejemplo n.º 1
0
        /// <summary>
        /// Returns the stored image path, "{app}/{year}/{month}" or "{app}/{year}/{month}/{sizePath}".
        /// </summary>
        /// <param name="uploadedOn"></param>
        /// <param name="size"></param>
        /// <returns></returns>
        public static string GetImagePath(DateTimeOffset uploadedOn, EImageSize size)
        {
            var app      = BLOG_APP_NAME.ToLowerInvariant();
            var year     = uploadedOn.Year.ToString();
            var month    = uploadedOn.Month.ToString("d2");
            var sizePath = "";

            switch (size)
            {
            case EImageSize.Large:
                sizePath = "lg";
                break;

            case EImageSize.MediumLarge:
                sizePath = "ml";
                break;

            case EImageSize.Medium:
                sizePath = "md";
                break;

            case EImageSize.Small:
                sizePath = "sm";
                break;

            default:
                sizePath = null;
                break;
            }

            return(size == EImageSize.Original ? $"{app}/{year}/{month}" : $"{app}/{year}/{month}/{sizePath}");
        }
Ejemplo n.º 2
0
        public static string BuildProductImageSrc(string imgRelPath, EImageSize imagesize)
        {
            if (string.IsNullOrWhiteSpace(imgRelPath))
            {
                return(string.Empty);
            }

            string src = ConfigurationManager.AppSettings["FileBaseUrl"].ToString().Trim().TrimEnd("/".ToCharArray());

            src += "/Product/";
            if (imagesize == EImageSize.Icon)
            {
                src += "160/";
            }
            else if (imagesize == EImageSize.Small)
            {
                src += "320/";
            }
            else if (imagesize == EImageSize.Middle)
            {
                src += "480/";
            }
            else if (imagesize == EImageSize.Big)
            {
                src += "960/";
            }
            else
            {
                src += "960/";
            }
            src += imgRelPath;
            return(src);
        }
Ejemplo n.º 3
0
        public string Show(string shortPath, string imageSize = null)
        {
            string result   = null;
            string sizePath = null;

            while (true)
            {
                if (string.IsNullOrWhiteSpace(shortPath))
                {
                    Error = G.L["upload_ShortPath"];
                    break;
                }

                EImageSize imageSizeEnum = THelper.ConvertToEnum(imageSize, EImageSize.middle);
                int        size          = Convert.ToInt32(imageSizeEnum);
                string     sizeShortPath = FileHelper.GetSizePath(shortPath, size);


                string sizePathTrue = m_config.Dir + sizeShortPath + ".true";
                if (File.Exists(sizePathTrue))
                {
                    result = m_config.OssUrl + sizeShortPath;
                    break;
                }

                string path = m_config.Dir + shortPath;
                sizePath = m_config.Dir + sizeShortPath;

                if (!PsHelper.Thumb(path, sizePath, size, size))
                {
                    Error = G.L["upload_NoLargeFile"];
                    break;
                }

                AliOssLogic aliOss = new AliOssLogic();
                if (!aliOss.Add(sizeShortPath, sizePath))
                {
                    Error = G.L["upload_OssAdd"];
                    break;
                }

                if (!FileHelper.CreateFile(sizePathTrue))
                {
                    Error = G.L["upload_CreateTrue"];
                    break;
                }

                result = m_config.OssUrl + sizeShortPath;
                break;
            }

            FileHelper.DeleteFile(sizePath);
            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Returns absolute url to an image.
        /// </summary>
        /// <remarks>
        /// Based on the resize count, the url returned could be original or one of the resized image.
        /// </remarks>
        /// <param name="media">The media record representing the image.</param>
        /// <param name="size">The image size.</param>
        /// <returns></returns>
        public string GetAbsoluteUrl(Media media, EImageSize size)
        {
            var endpoint  = _storageProvider.StorageEndpoint;
            var container = endpoint.EndsWith('/') ? _appSettings.MediaContainerName : $"/{_appSettings.MediaContainerName}";

            if ((size == EImageSize.Original || media.ResizeCount <= 0) ||
                (media.ResizeCount == 1 && size != EImageSize.Small) ||
                (media.ResizeCount == 2 && size == EImageSize.Large))
            {
                size = EImageSize.Original;
            }

            var imagePath = GetImagePath(media.UploadedOn, size);
            var fileName  = media.FileName;

            return($"{endpoint}{container}/{imagePath}/{fileName}");
        }
Ejemplo n.º 5
0
        public MenuItemImageHandler(EImageSize imageSize)
        {
            _imageSize = imageSize;

            if (_imageSize == EImageSize.Small)
            {
                _defaultImage     = IconManager.GetBitmap(EIcons.window_info_16);
                _oracleFormsImage = IconManager.GetBitmap(EIcons.oracleforms_16);
                _folder           = IconManager.GetBitmap(EIcons.folder_16);
            }
            else if (_imageSize == EImageSize.Middle)
            {
                _defaultImage     = IconManager.GetBitmap(EIcons.window_info_24);
                _oracleFormsImage = IconManager.GetBitmap(EIcons.oracleforms_24);
                _folder           = IconManager.GetBitmap(EIcons.folder_24);
            }
            else if (_imageSize == EImageSize.Large)
            {
                _defaultImage     = IconManager.GetBitmap(EIcons.window_info_32);
                _oracleFormsImage = IconManager.GetBitmap(EIcons.oracleforms_32);
                _folder           = IconManager.GetBitmap(EIcons.folder_32);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// <para>users/profile_image メソッド</para>
        /// <para>Access the profile image in various sizes for the user with the indicated screen_name</para>
        /// </summary>
        /// <param name="screen_name">[required]ユーザー名</param>
        /// <param name="size">[option]画像サイズ</param>
        /// <returns></returns>
        public Tuple<string, Image> users_profile_image(string screen_name, EImageSize size = EImageSize.normal)
        {
            Dictionary<string, string> paramdic = new Dictionary<string, string>();
            {
                paramdic.Add("size", size.ToString());
            }

            string url = string.Format("{0}users/profile_image/{1}.xml?{2}", URLapi, screen_name, JoinParameters(paramdic));

            return GetByAPIImage(url);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Deletes an image file from storage.
 /// </summary>
 /// <param name="media"></param>
 /// <param name="size"></param>
 /// <returns></returns>
 private async Task DeleteImageFileAsync(Media media, EImageSize size)
 {
     var path = GetImagePath(media.UploadedOn, size);
     await _storageProvider.DeleteFileAsync(media.FileName, path, IMAGE_PATH_SEPARATOR);
 }