我正在从Azure Blob存储中下载一个.mp4文件并将其推送到UI。下载工作正常,问题在于似乎没有正确设置内容长度的标头。因此,您无法跟踪下载时间,因为浏览器只显示已下载的内容而不是剩余多少和预计时间。我的响应代码有误吗?还是应该更改请求?我的代码如下:
[HttpGet("VideoFileDownload")]
public IActionResult VideoFileDownloadAsync([FromQuery]int VideoId)
{
...code to get blob file
return new FileStreamResult(blob.OpenRead(), new MediaTypeHeaderValue("application/octet-stream")
}
我尝试过各种请求和响应头,但没有任何作用。
这些文件很大,我知道旧的asp.net检查范围标头然后执行分块流的方式,但我想使用.net core中的新功能,但它并没有像预期的那样工作,或许是我对它理解不够透彻。能否有人给我提供一个带有asp.net core代码的文件下载的工作示例?