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

时间:2017-11-01 17:01:28

标签: c# asp.net-core

如果用户开始下载相当大的文件(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;
    }

1 个答案:

答案 0 :(得分:-1)

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