/// <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}"); }
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); }
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); }
/// <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}"); }
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); } }
/// <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); }
/// <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); }