5

次のコードは、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エラー(または同等のもの)を表すものを返すことができますか?

4

1 に答える 1

6

あなたはthrow new HttpException(404, "Not found");。明らかに、web.configのセクションに、ユーザーに404を示すための対応するページがあります。customErrors

于 2011-02-01T19:15:22.400 に答える