首页 > 解决方案 > 将文件直接写入 HTTP 响应输出流(不使用任何下载管理器,如 IDM)

问题描述

我要直接将文件写入 HTTP 响应,当我在我的 PC 上使用下载管理器时它可以工作,但在禁用下载管理器后它不起作用。

FileInfo file = new FileInfo(FilePath)
context.Response.ClearContent();
context.Response.ClearHeaders();
context.Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name +";");
context.Response.ContentType = "application/x-zip-compressed";
context.Response.TransmitFile(file.FullName);

浏览器响应

标签: c#asp.netwebforms

解决方案


致电context.Response.Flushcontext.Response.End

响应刷新

强制将所有当前缓冲的输出发送到客户端。在请求期间可以多次调用。

响应结束

将所有当前缓冲的输出发送到客户端并停止执行。


推荐阅读