c# - 将文件直接写入 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);
解决方案
致电context.Response.Flush
或context.Response.End
响应刷新
强制将所有当前缓冲的输出发送到客户端。在请求期间可以多次调用。
响应结束
将所有当前缓冲的输出发送到客户端并停止执行。
推荐阅读
- javascript - 将数组向右移动,并使缺失的空间为 0
- azure - PowerShell- 使用凭据而不是带有令牌的基本 Bas64 来针对 AzureDevops 调用-RestMethod
- c# - 在订单实体框架中插入列表
- python - 从月初开始过滤熊猫数据框日期列 X 个月
- entity-framework - 在 EF 中为模型声明表名
- bootstrap-4 - Bootstarp 4 - 网格系统 - 弹性盒中的固定项目
- openmesh - OpenMesh 恢复删除的元素
- git - 如果它在 fork master 分支上,如何找到拉取请求启动 SHA
- jenkins - 在作业中创建 dsl 作业
- python - 如何在 Django 中以编程方式批准所有已安装的应用程序权限