Blog にアップロードしたイメージファイルを自動でサムネイル化してくれる Thumbnailer ですが
デフォルトではすべてのサムネイルが \AppData\files\Thumbnails\ フォルダに保存されてしまいます

これではサムネイルが同じフォルダにひたすらたまってしまって困るので
コードを少しいじって普通のイメージのように保存した年月ごとにフォルダ分けされるようにコードを書き換えます

書きかえる個所は static Thumbnailer() にある absoluteThumbnailPath のパス取得設定です。
ここは通常 "/files/" + ThumbnailPath になっているのですが、これを以下のように年月を付け加えるように変更します。 
また作例されたサムネイルを参照するタグの生成部分も、同様に年月を加えるように変更します。

    static Thumbnailer()
    {
        absoluteThumbnailPath = HttpContext.Current.Server.MapPath(BlogSettings.Instance.StorageLocation + "/files/" + DateTime.Now.ToString("yyyy/MM") + "/" + ThumbnailPath + "/");
    }

    private static HtmlImageTag CreateThumbnail(HtmlImageTag tag, Dictionary<string, string> thumbnailSettings)
    {
    //....
        thumbnailTag.Source = Utils.RelativeWebRoot + "image.axd?picture=/" + DateTime.Now.ToString("yyyy/MM") + "/" + ThumbnailPath + "/" + HttpUtility.UrlEncode(newFilename);
    //....
    }

これでめでたくサムネイルを保存するパスが変更されて
元のイメージが保存されているフォルダのサブフォルダとしてサムネイルを管理できます

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Comments

Comments are closed