更改发送给客户端的文件名?

时间:2008-10-03 18:17:33

标签: c# asp.net http

我有一个网页,可以从数据库中提取信息,将其转换为.csv格式,然后将文件写入HTTPResponse。

string csv = GetCSV();
Response.Clear();
Response.ContentType = "text/csv";
Response.Write(csv);

这很好用,文件发送到客户端没有问题。但是,当文件发送到客户端时,将使用当前页面的名称,而不是更友好的名称(如“data.csv”)。

alt text

我的问题是,如何在不将文件写入磁盘并将客户端重定向到文件的URL的情况下更改写入输出流的文件的名称?

编辑:感谢回复人员。我得到了4个相同的回复,所以我只选择了第一个作为答案。

4 个答案:

答案 0 :(得分:11)

我相信这对你有用。

Response.AddHeader("content-disposition", "attachment; filename=NewFileName.csv");

答案 1 :(得分:2)

您只需设置 Content-Disposition 标题

即可
Content-Disposition:  attachment; filename=data.csv

此Microsoft支持文章有一些很好的信息

How To Raise a "File Download" Dialog Box for a Known MIME Type

答案 2 :(得分:1)

添加“Content-Disposition”标头,其值为“attachment; filename = filename.csv”。

答案 3 :(得分:1)

Response.AddHeader("content-disposition", "attachment; filename=File.doc")