You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core MVC实现音视频流式传输(支持Chrome进度拖拽)

实现支持Chrome进度拖拽的音视频流式传输(.NET Core 2.0 + FileStreamResult)

最近在给网站做音视频流式传输功能,最在意的就是要支持Chrome浏览器里的进度条拖拽定位——毕竟用户总爱跳着看内容对吧?查了一圈资料后,发现.NET Core 2.0提供的FileStreamResult是官方推荐的简便方案,试了下确实能搞定,这里分享下我的简化实现:

核心Action代码

public IActionResult StreamMedia(string mediaPath, string contentType)
{
    // 根据实际业务场景获取文件流,这里示例从本地文件读取
    var fileStream = new FileStream(mediaPath, FileMode.Open, FileAccess.Read);
    // 返回FileStreamResult,自动处理范围请求(支持进度拖拽)
    return File(fileStream, contentType);
}

关于File方法的简化说明

返回传入的fileStream中的文件内容,响应状态码默认是200 OK,同时会将指定的contentType设置为响应头的Content-Type字段——比如音频用audio/mpeg,视频用video/mp4这类标准MIME类型。

关键提示

要让Chrome支持进度拖拽,本质是服务器要处理范围请求(Range Requests),而FileStreamResult在.NET Core 2.0里已经内置了这个逻辑,不用我们手动写Range头的处理代码,这也是它成为推荐方案的原因——省心又高效。

内容的提问来源于stack exchange,提问作者CryShana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:16:29