我有一个生成文件的 ASP.NET 应用程序。问题是该文件的名称带有多个点(例如:52420.620993.20130910.010.epk)。名称采用这种格式,但数字是动态生成的。如果我尝试通过超链接“打开”它,或者只是在地址栏中输入完整地址,我会收到 404.3 错误。我想打开一个下载框并下载这个文件。
该文件在那里,我检查了,但问题是 IIS 无法识别它。
顺便提一句。我使用 ASP.NET 4.0 和 IIS 7.5
编辑:我试过 UrlEncode 但没有运气...打开文件的代码是:
ScriptManager.RegisterClientScriptBlock(Me, Me.GetType(), "anyKey", "<script>window.open('epk/" & HttpUtility.UrlEncode(filename) & ".epk');</script>", false)
我也尝试在网络配置中添加它:
<system.web>
<httpRuntime relaxedUrlToFileSystemMapping="true" />
</system.web>
和:
<system.webServer>
<handlers>
<add name="ApiURIs-ISAPI-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>