ASP.Net 核心 - 计算下载请求中发送的字节数



如果用户开始下载相当大的文件(500mb),但过早地取消了请求,我该如何计算实际发送给用户的字节数?

    public async Task<IActionResult> Download(string filename)
    {
        IActionResult result = BadRequest();
        var path = Path.Combine(firstPart, secondPart);
        if (System.IO.File.Exists(path))
        {
            var bytes = await System.IO.File.ReadAllBytesAsync(path);
            await Response.Body.WriteAsync(bytes, 0, bytes.Length);
            result = Ok();
        }
        return result;
    }

使用 JavaScript 验证这一点,并通过 AJAX 发送文件。这样,您可以确保如果文件太大,它甚至永远不会到达您的控制器。我已经尝试过Dropzone.js它为你做到了这一点。

最新更新