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

标签 c# asp.net http

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

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

这工作正常,文件被毫无问题地发送到客户端。但是,当文件发送到客户端时,将使用当前页面的名称,而不是更友好的名称(如“data.csv”)。

alt text

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

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

最佳答案

我相信这对你有用。

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

关于c# - 更改发送给客户端的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/168173/

相关文章:

c# - 验证阻止自动回发复选框

c# - .NET 核心 3.1 gRPC docker : Could not make proto path relative

c# - ENTER 键按下时的 DropDownList 回发未触发服务器端事件

javascript - ASP.NET 使用 Javascript 停止 CodeBehind 调用

java - 玩!框架 [1.2.4] - 通过 wami-recorder 接受音频/xwav 内容类型

c# - 从 silverlight 中的 observablecollection 中删除多个项目

c# - 使用 RenderTransform 时如何防止文本像素化?

c# - 如何设置自定义类的反射数组的行

performance - 现代浏览器是否仍然限制并行下载?

apache-flex - 将 CURL 转换为 FLEX HTTP 请求