如何直接将ASP.NET MVC中的大文件作为FileStreamResult返回,而不必等待它在服务器端完全下载? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我正在尝试获取大小为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");
}

我该怎么做才能立即显示“另存为...”窗口,然后查看实际下载了多少字节?

asp.net file model-view-controller stream
1个回答
1
投票

请查看此问题以获得解决方案:C# Stream Response from 3rd party, minimal buffering

© www.soinside.com 2019 - 2024. All rights reserved.