asp.net - 如何立即将 ASP.NET MVC 中的大文件作为 FileStreamResult 返回,而无需等待它在服务器端完全下载?
问题描述
我正在尝试获取大小为 100MB 的文件并返回流结果。我必须等待“另存为...”窗口大约 1 分钟,直到它在服务器端完全下载,然后在选择文件名并接受后 - 它非常快速地保存而没有显示进度。但是当我从文件系统返回一个文件作为 FilePathResult 时,它工作得很好。
例子:
public async Task<FileResult> GetFile()
{
HttpClient client = new HttpClient();
var response = await client.GetAsync("https://speed.hetzner.de/1GB.bin");
var stream = await response.Content.ReadAsStreamAsync();
return File(stream, "application/zip");
}
我应该怎么做才能立即显示“另存为...”窗口,然后查看实际下载了多少字节?
解决方案
请参阅此问题以获取解决方案:C# Stream Response from 3rd party, minimum buffering
推荐阅读
- javascript - 如何从 AJAX 请求中获取第一个关键对象
- javascript - Laravel,webpack.mix中的js,找不到函数
- asp.net - OWIN Katana 与 ASP.NET Core Docker 容器相比如何
- ruby-on-rails - Rails ActiveRecord :在加入后更改用于集合的 ruby 类
- liquibase - 使用 liquibase/flyway 类似 Terraform 的自动更新数据库,可能吗?
- default - 如何在 WordPress 音频播放器中将默认音量设置为 100%?
- lotusscript - 根据文本值命名数组
- javascript - 将数组值添加到引导表
- java - 使用 XSLT 从 JSON 生成 PDF - 页眉和页脚内容应与表格一起显示在所有页面中
- java - 解释我的计算机如何读取我的河内塔代码