MVC 4 路由 - 忽略对图像的请求

Den*_*els 0 asp.net-mvc .net-4.0 c#-4.0 asp.net-mvc-4

我试图阻止用户在我的 Web 应用程序中自行请求访问图像,因此不应允许用户发出此类请求:

网站名称/图片/test.jpg

我已经尝试在 RouteConfig.cs 中指定要忽略的路由,但它仍然自己提供图像,有没有办法防止这种情况?

这是我尝试过的:

routes.IgnoreRoute("{file}.jpg");
routes.IgnoreRoute("Images/{file}.jpg");
routes.IgnoreRoute("{resource}.jpg");
routes.IgnoreRoute("Images/{resource}.jpg");
Run Code Online (Sandbox Code Playgroud)

teo*_*kot 5

如果你想忽略文件夹,你可以这样写:

routes.IgnoreRoute("Images/{*pathInfo}");
Run Code Online (Sandbox Code Playgroud)

如果您只想忽略文件夹中的某些文件,您可以使用这样的重载IgnoreRoute()

routes.IgnoreRoute("{Images}", new { assets = @".*\.(jpeg|gif|jpg)(/.)?" });
Run Code Online (Sandbox Code Playgroud)

如您所见,constraints参数可以像RegExp.