C# 无法访问生产服务器(ASP.NET MVC)上的(404)PDF文件
我在ASP.NET MVC项目中添加了一个文件夹手册。在这个文件夹中,我有两个pdf文件 在我看来,我有这样的链接:C# 无法访问生产服务器(ASP.NET MVC)上的(404)PDF文件,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我在ASP.NET MVC项目中添加了一个文件夹手册。在这个文件夹中,我有两个pdf文件 在我看来,我有这样的链接: <a href="@Url.Content("~/Manuals/manual1.pdf")">XXXXXXX</a> 据我所知,链接是由属性生成的。在我的开发服务器上: <a href="http://localhost/Manuals/manual1.pdf">XXXXXXX</a> 在生产服务器上: <a href=
<a href="@Url.Content("~/Manuals/manual1.pdf")">XXXXXXX</a>
据我所知,链接是由属性生成的。在我的开发服务器上:
<a href="http://localhost/Manuals/manual1.pdf">XXXXXXX</a>
在生产服务器上:
<a href="http://mysecretappaddress.com/Manuals/manual1.pdf">XXXXXXX</a>
已在生产服务器上检查,并且pdf已存在。但问题是——我可以在本地服务器上访问pdf,但在生产服务器上我得到404错误。什么会导致这种奇怪的行为?您可以在web.config中添加MIME类型。我认为IIS上可能缺少MIME类型
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".pdf" />
<mimeMap fileExtension=".pdf" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>
默认情况下,IIS阻止未知扩展,并引发404.3错误。要“修复”此问题,可以将其添加到web.config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".pdf" mimeType="application/pdf" />
</staticContent>
</system.webServer>
您应该在生产计算机上的web服务器IIS上检查pdf的mime类型。