代码之家  ›  专栏  ›  技术社区  ›  Shyju

ASP:ASP页面的文件下载会出现,而不是执行它

  •  1
  • Shyju  · 技术社区  · 16 年前

    我有一个ASP页,它将从SQL查询创建一个记录集,并使用所设置的response.contenttype=“application/vnd.ms excel”属性创建一个excel页。

    在执行文件时,它将为Excel文件(我在response.addheader中提到的任何文件名)显示一个保存对话框,如下所示

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

    这在本地运行良好。但是当从服务器运行时(我只签入了IE),它会显示一个对话框来“打开”“保存”ASP文件本身,如果我进行保存,它会显示一条错误消息,如“无法下载…”

    知道怎么解决这个问题吗?

    5 回复  |  直到 14 年前
        1
  •  2
  •   Eduardo Molteni    16 年前

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

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

        2
  •  1
  •   AnthonyWJones    16 年前

    因为它在您的本地测试机上运行良好,所以您的代码可能没有任何问题。

    第一步诊断是启动 fiddler 在您的客户机上,然后尝试下载。查看fiddler跟踪,查看服务器发送的确切内容。

        3
  •  1
  •   Svante Svenson    16 年前

    确保在服务器上的IIS设置中将活动服务器页Web服务扩展标记为“允许”。(这些是Windows2003的术语,在2008年他们可能会称之为其他东西…)

        4
  •  0
  •   Omu    16 年前

    尝试在IIS上为文件类型添加一个mime类型

        5
  •  0
  •   pflunk    16 年前

    这是一个长期的尝试,但是…

    如果您的服务器是通过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" 
    
    推荐文章