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

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

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

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

替代文字

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

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

我相信这对你有用。

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

您只需设置Content-Disposition标头即可

 Content-Disposition: attachment; filename=data.csv 

此Microsoft支持文章提供了一些很好的信息

如何为已知MIME类型引发“文件下载”对话框

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

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