将文件下载到客户端浏览器,在Response.End()处卡住
本文关键字:End Response 文件下载 客户端 浏览器 | 更新日期: 2023-09-27 18:29:24
基于此:将文件下载到客户端浏览器
这也应该起作用:(contenu
是字符串)
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment; filename='"" + txtFileName.Value.ToString() + "'"");
Response.AddHeader("Content-Length", contenu.Length.ToString());
Response.ContentType = "text/plain";
Response.Flush();
Response.Write(contenu);
Response.End();
然而,在Response.End()
之后,浏览器似乎做出了反应,因为我看到它在工作,但随后什么也没发生。。。
Chrome和Explorer也是如此。
我该怎么办?
试试这个参数设置略有不同的代码;它对我有效
protected void ExportData(string fileName, string fileType, string content)
{
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=" + Server.UrlPathEncode(fileName));
Response.Charset = "";
Response.ContentType = fileType;
Response.Output.Write(content);
Response.Flush();
Response.End();
}
像这样呼叫
ExportData("Report.txt", "text/plain", yourContentString);