C# 是否更改发送到客户端的文件名?
我有一个网页,可以从数据库中提取信息,将其转换为.csv格式,并将文件写入HTTPResponseC# 是否更改发送到客户端的文件名?,c#,asp.net,http,C#,Asp.net,Http,我有一个网页,可以从数据库中提取信息,将其转换为.csv格式,并将文件写入HTTPResponse string csv = GetCSV(); Response.Clear(); Response.ContentType = "text/csv"; Response.Write(csv); 这工作正常,文件发送到客户机时没有问题。但是,当文件发送到客户端时,将使用当前页面的名称,而不是更友好的名称(如“data.csv”) 我的问题是,在不将文件写入磁盘并将客户端重定向到文件url的情况下
string csv = GetCSV();
Response.Clear();
Response.ContentType = "text/csv";
Response.Write(csv);
这工作正常,文件发送到客户机时没有问题。但是,当文件发送到客户端时,将使用当前页面的名称,而不是更友好的名称(如“data.csv”)
我的问题是,在不将文件写入磁盘并将客户端重定向到文件url的情况下,如何更改写入输出流的文件名
编辑:感谢各位的回复。我得到了4个相同的答案,所以我选择了第一个作为答案。我相信这对你会有用的
Response.AddHeader("content-disposition", "attachment; filename=NewFileName.csv");
添加一个值为“attachment;filename=filename.csv”的“Content Disposition”标题。您只需设置Content Disposition标题
Content-Disposition: attachment; filename=data.csv
这篇Microsoft支持文章提供了一些很好的信息 该示例无效(后面不应该有分号)。
Content-Disposition: attachment; filename=data.csv