打开(下载)文件,名称中包含多个点

时间:2013-09-10 06:46:22

标签: c# asp.net iis

我有一个生成文件的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>

2 个答案:

答案 0 :(得分:0)

使用编码的网址转义特殊字符。

HttpUtility.UrlEncode

答案 1 :(得分:0)

我想,问题不在于点,尝试查看iis中的扩展程序设置,您的epk扩展程序应添加到可用的扩展程序列表中。添加epk,如此处所述http://geekswithblogs.net/frankw/archive/2008/04/10/configure-iis-to-host-silverlight-applications.aspx