Asp.net ASP。NETMVC5图像路由
我有ASP.NETMVC应用程序,类似于Wiki。这个应用程序有很多页面,页面使用图片。页面内容存储在数据库中,但其图像存储在文件系统中。我决定将图像从文件系统移动到数据库。最近,我已将图像移动到数据库(使用SQLServer中的文件表)。一切都很好,但现在我面临着这个问题。以前,当图像存储在文件夹中时,我使用它们:Asp.net ASP。NETMVC5图像路由,asp.net,asp.net-mvc,asp.net-mvc-5,routing,Asp.net,Asp.net Mvc,Asp.net Mvc 5,Routing,我有ASP.NETMVC应用程序,类似于Wiki。这个应用程序有很多页面,页面使用图片。页面内容存储在数据库中,但其图像存储在文件系统中。我决定将图像从文件系统移动到数据库。最近,我已将图像移动到数据库(使用SQLServer中的文件表)。一切都很好,但现在我面临着这个问题。以前,当图像存储在文件夹中时,我使用它们: <img src='/Attachments/myImage.png' /> img标签的src和src属性已更改: <img src='/Images/Get
<img src='/Attachments/myImage.png' />
img标签的src和src属性已更改:
<img src='/Images/GetFile?filename=myImage.png' />
但我失败了。提前谢谢你。好的,我自己做了一些研究,因为我需要解决类似的问题,我相信这就是你想要的: 事实证明,MVC不会拦截任何带有扩展名的url,您需要更改其行为
希望能有所帮助。确保附件文件夹未被排除在传送之外。搜索并删除如下内容:routes.IgnoreRoute(“Attachments/{*pathInfo}”)@Tacud此文件夹不被排除这是事实,但更好的方法是在IIS级别执行重定向。让MVC处理所有静态文件会不必要地降低应用程序的速度。
<img src='/Images/GetFile?filename=myImage.png' />
routes.MapRoute("old images", "Attachments/{filename}",
new
{
controller = "Images",
action = "GetFile"
});