我有一个网页,可以从数据库中提取信息,将其转换为.csv格式,然后将文件写入HTTPResponse。
string csv = GetCSV();
Response.Clear();
Response.ContentType = "text/csv";
Response.Write(csv);
这很好用,文件发送到客户端没有问题。但是,当文件发送到客户端时,将使用当前页面的名称,而不是更友好的名称(如“data.csv”)。
我的问题是,如何在不将文件写入磁盘并将客户端重定向到文件的URL的情况下更改写入输出流的文件的名称?
编辑:感谢回复人员。我得到了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")