我试图从屏幕上下载一些文本输出作为文本文件.以下是代码.它在某些页面上工作,而在其他页面上根本不工作.任何人都可以在这里建议什么是错的?
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());
}
Run Code Online (Sandbox Code Playgroud)
Rui*_*mba 25
正如Joshua已经提到的,您需要将文本写入输出流(Response).此外,不要忘记在此之后调用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();
}
Run Code Online (Sandbox Code Playgroud)
编辑1:添加了更多细节
编辑2:我正在阅读其他SO帖子,用户建议在文件名周围加上引号:
Response.AppendHeader("content-disposition", "attachment;filename=\"output.txt\"");
Run Code Online (Sandbox Code Playgroud)
资料来源:https: //stackoverflow.com/a/12001019/558486
| 归档时间: |
|
| 查看次数: |
35989 次 |
| 最近记录: |