2021年02月 (2件)

ASP.NET Tips #007 - WebP対応に合わせてimgタグの拡張子を置き換えるタグヘルパーを実装する

モダンなブラウザーではJPEG形式やPNG形式のファイルより軽量なWebP形式の画像を表示する事が可能です。

ただ、 Safari 14.0 より古いバージョンのブラウザー等を使っている場合などは、WebPだけを指定してしまうと画像が表示できなくなる為、<picture> タグなどで併記したり、スクリプトで制御したりが必要となります。

WebP 形式に対応したブラウザーで同名の WebP ファイルがサーバー上に存在する場合に、拡張子を置き換えて HTML を出力させ、 WebP ファイルが表示できない場合は src で指定されたファイルをそのまま表示させるタグヘルパーを作成します。

記事を読む

ASP.NET Tips #006 - ASP.NET Core で Server.MapPath() 相当の拡張メソッドを作る

サーバー上にファイルが存在するかどうかで処理や表示を切り替えたりする際には、仮想パスで指定されるとサーバー上の物理パスに変換する必要があったりします。
しかし、 ASP.NET Core では Server.MapPath() が無いため、簡単に変換する事ができません。

wwwroot までの物理パスを取得するには、コントローラーのコンストラクターで HostEnvironment を受け取っておき、 WebRootPath を参照します。

ファイルが存在するかどうかをチェックする場合は、この WebRootPath にディレクトリー名やファイル名を連結したパスを評価しなければなりません。

そこで、 HostEnvironment にアプリケーションルートからの仮想パスを物理パスに変換する拡張メソッドを用意したいと思います。

記事を読む