2011-02-01 12 views
5

Poniższy kod jest nadzieją poprawny sposób, aby powrócić obraz, który istnieje na dysku przy użyciu ASP.NET MVC 3:ASP.NET MVC FilePathResult: Nie można znaleźć pliku 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 ??? 
} 

Jeśli nie możesz znaleźć pliku, co można powrócić, które reprezentują HTML Błąd 404 (lub odpowiednik?)

Odpowiedz

6

Będziesz throw new HttpException(404, "Not found");. Oczywiście będziesz mieć corresponding page w sekcji customErrors swojego web.config, aby wskazać 404 użytkownikowi.

Powiązane problemy