更改发送给客户端的文件名?
我有一个网页,从数据库中提取信息,将其转换为.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")