次のコードは、ASP.NETMVC3を使用してディスク上に存在するイメージを返す正しい方法であることが期待されます。
public FilePathResult GetThumbnail(string imageName)
{
if( !String.IsNullOrEmpty(imageName) &&
Regex.IsMatch(imageName, @"^p\d{10}.jpg$"))) ) // p0000000000.jpg
{
var homePath = Server.MapPath("~/Content/previews");
var imagePath = Path.Combine( homePath, imageName );
if( System.IO.File.Exists(imagePath) )
return this.File(imagePath, "image/jpeg");
}
return ???
}
ファイルが見つからない場合、HTML 404エラー(または同等のもの)を表すものを返すことができますか?