2011-02-01 5 views
5

次のコードでは、うまくいけば、ASP.NET MVC 3を使用して、ディスク上に存在する画像を返すための正しい方法である:ASP.NET MVC FilePathResult:HTMLファイルを返す方法はありませんか?

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エラー(またはそれと同等のもの)

答えて

6

あなたはthrow new HttpException(404, "Not found");となります。明らかに、web.configのcustomErrorsセクションにcorresponding pageという部分があり、ユーザーに404を示すはずです。

関連する問題