我有一个
ActionContext
物体。
我想从
Range
读取 Request
标题。我所知道的是我可以这样读
var rangeHeader = context.HttpContext.Request.Headers["Range"]
但是我必须拆分字符串才能获取范围
from
和 to
值,因为范围标头像这样 byte=100-512
那么这是从
IHeaderDictonary
读取此标头的正确方法还是有更好的方法来做到这一点?
我刚刚发现什么可能是“官方”的方式:
将以下 nuget 添加到您的项目“Microsoft.AspNetCore.Http.Extensions”。
然后这样做:
var range = context.Request.GetTypedHeaders().Range;
你就完成了:)
将可选的enableRangeProcessing设置为true,您不必自己处理范围标头。
public virtual FileStreamResult File(Stream fileStream, string contentType, bool enableRangeProcessing)
进一步阅读源代码 https://github.com/dotnet/aspnetcore/blob/main/src/Shared/ResultsHelpers/FileResultHelper.cs#L90