使用ASP.NET Core 3流式传输视频

使用ASP.NET Core 3流式传输视频

我目前正在使用.NET Core构建API,这是我的第一个.NET Core项目。

我目前正在尝试将视频发送到我的React.js前端以在浏览器中观看。上传文件和视频没有任何问题,下面所见的方法已经将文件发送到客户端,但如果视频长度超过几秒钟,视频播放器会变得非常缓慢,并且跳过几秒钟的视频时间也需要很长时间。我认为这是因为文件首先完全下载然后再播放的原因。

[Route("getFileById")]

public FileResult getFileById(int fileId)

{

var context = new DbContext();

var file = context.File.Find(fileId);

if (file == null)

{

Console.WriteLine("file " + fileId + " not found");

return null;

}

var content = new FileStream(file.Name, FileMode.Open, FileAccess.Read, FileShare.Read);

var response = File(content, "application/octet-stream");

return response;

}

我认为解决我的问题的方法是将文件流化,而不是作为整个文件发送。我已经在谷歌上搜索了如何使用ASP.NET Core 3流媒体视频,但我只找到了针对ASP.NET Core 2的网站(例如http://anthonygiretti.com/2018/01/16/streaming-video-asynchronously-in-asp-net-core-2-with-web-api/)。

我已经尝试过在这些网站上使用的代码,但他们的方式不兼容ASP.NET Core 3。如何在ASP.NET Core 3中流式传输文件?

相关推荐

标题标签与元描述优化指南 (2025版):提升SEO排名与点击率的核心秘诀
酷派 7296
365bet体育在线世界杯

酷派 7296

📅 07-09 👁️ 7828
dnf史诗灵魂怎么获得-史诗灵魂获取途径一览
世界杯365软件

dnf史诗灵魂怎么获得-史诗灵魂获取途径一览

📅 07-10 👁️ 9840