gpt4 book ai didi

c# - 在 ASP.NET 中将文本下载为文件

转载 作者:太空狗 更新时间:2023-10-29 19:49:51 27 4
gpt4 key购买 nike

我正在尝试从屏幕上下载一些文本输出作为文本文件。以下是代码。它在某些页面上起作用,而在其他页面上根本不起作用。任何人都可以建议这里有什么问题吗?

protected void Button18_Click(object sender, EventArgs e){
Response.Clear();
Response.Buffer = true;
Response.ContentType = "text/plain";
Response.AppendHeader("content-disposition", "attachment;filename=output.txt");

StringBuilder sb = new StringBuilder();
string output = "Output";
sb.Append(output);
sb.Append("\r\n");
Response.Write(sb.ToString());
}

最佳答案

正如 Joshua 已经提到的,您需要将文本写入输出流(响应)。另外,不要忘记在此之后调用 Response.End()。

protected void Button18_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
string output = "Output";
sb.Append(output);
sb.Append("\r\n");

string text = sb.ToString();

Response.Clear();
Response.ClearHeaders();

Response.AppendHeader("Content-Length", text.Length.ToString());
Response.ContentType = "text/plain";
Response.AppendHeader("Content-Disposition", "attachment;filename=\"output.txt\"");

Response.Write(text);
Response.End();
}

编辑 1:添加了更多细节

编辑 2:我正在阅读其他 SO 帖子,其中用户建议在文件名周围加上引号:

Response.AppendHeader("content-disposition", "attachment;filename=\"output.txt\"");

来源: https://stackoverflow.com/a/12001019/558486

关于c# - 在 ASP.NET 中将文本下载为文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14755339/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com