2

ENV:Asp.Net Vb / Visual Studio 2010 / .Net 4 IIS Express 和 IIS 6

我有一个名为 download.aspx 的页面,它从数据库创建 csv 数据,但无法让浏览器使用正确的文件名下载它。我的理解是 Content-Disposition 给它一个文件名,但下载始终是我的页面名称,而不是 download.aspx。

我确定我对它的工作原理有误解,我在这里搜索了指导,但似乎无法获得任何解决方案。我有以下内容:

    Response.Clear()
    Response.ContentType = "text/csv"
    Response.AppendHeader("Content-Disposition", "attachment: filename=leadership.csv")
    Response.Write("test,test,test")
    Response.Flush()
    Response.End()

我试过“application/csv”和“application/x-download”没有区别。我也在具有相同文件名问题的 .ashx 文件中进行了尝试。我怎样才能让文件以leadership.csv 而不是download.aspx 的形式出现?

4

1 回答 1

2

Content-Dispostion 标头错误。价值

attachment: filename=leadership.csv

应该是(带有可选空格)

attachment; filename=leadership.csv

请注意,:用于分隔标头和值的 已更改;为用于分隔子值的 a。

此外,我建议使用来生成 CSV,如果还没有的话..

于 2012-08-21T17:02:14.423 回答