ASP.NET MVC FilePathResult:如何返回未找到的 html 文件?

发布于 2024-10-15 11:55:31 字数 560 浏览 1 评论 0原文

以下代码希望是使用 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 错误(或等效错误?)

The following code is hopefully a correct way to return an image that exists on disk using 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 ???   
}

If you don't find the file, what could you return that would represent an HTML 404 error (or equivalent?)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

东北女汉子 2024-10-22 11:55:31

您将抛出 new HttpException(404, "Not found");。显然,您的 web.config 的 customErrors 部分中会有一个​​相应页面,以向用户指示 404 。

You would throw new HttpException(404, "Not found");. Obviously you would have a corresponding page in the customErrors section of your web.config to indicate the 404 to the user.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文