以下代码有望成为使用ASP.NET MVC 3返回磁盘上存在的映像的正确方法:
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错误(或等效文件?)
答案 0 :(得分:6)
你会throw new HttpException(404, "Not found");
。显然,您的web.config的customErrors
部分中会有一个corresponding page来向用户显示404。