ASP:ASP页面的文件下载而不是执行它

时间:2009-11-14 18:28:03

标签: asp-classic

我有一个ASP页面,它将从SQL查询创建一个记录集,并通过使用Response.ContentType =“application / vnd.ms-excel”属性来创建一个excel页面。

执行文件时,它会显示excel文件的保存对话框(我在Response.AddHeader中提到的任何文件名)为

Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName 

这在本地运行良好。但是当从服务器运行时(我只在IE中检查过),IT显示一个对话框“打开”“保存”ASP文件本身,如果我给出保存,它显示错误消息如“无法下载...”

知道如何解决这个问题吗?

5 个答案:

答案 0 :(得分:2)

即使你说它在本地工作正常,代码(或数据)也一定有问题。

尝试删除标题并测试页面(在服务器中)

答案 1 :(得分:1)

由于它在您的本地测试机器上运行良好,因此您的代码可能没有任何问题。

第一步诊断是在您的客户端启动fiddler然后尝试下载。查看fiddler跟踪,看看服务器究竟发送了什么。

答案 2 :(得分:1)

确保在服务器上的IIS设置中将Active Server Pages Web服务扩展标记为“允许”。 (这些是来自Windows 2003的术语,在2008年,他们可能会将其称为其他内容......)

答案 3 :(得分:0)

尝试在IIS上为您的文件类型添加MIME类型

答案 4 :(得分:0)

这是一个长镜头,但......

如果您的服务器是通过SSL访问的,并且您使用的是IE6,问题可能是“Internet Explorer file downloads over SSL do not work with the cache control headers

如果是这样,添加以下标题应该修复它:

Response.AddHeader "pragma", "no-store, no-cache, must-revalidate" 
相关问题