小编Nur*_*ada的帖子

ASP.Net Core Web Api中的异步视频流无法正常工作

我之前使用过http://www.strathweb.com/2013/01/asynchronously-streaming-video-with-asp-net-web-api/这种技术,并且非常适合异步视频流.

但对于ASP.NET Core,这种方式并没有按预期工作.

通过视频流类是:

public class VideoStream
{
    private readonly string _filename;
    public VideoStream(string filename)
    {
        _filename = filename;
    }

    public async Task WriteToStream(Stream outputStream, HttpContent content, TransportContext context)
    {
        try
        {
            var buffer = new byte[65536];
            using (var video = File.Open(_filename, FileMode.Open, FileAccess.Read))
            {
                var length = (int)video.Length;
                var bytesRead = 1;
                while (length > 0 && bytesRead > 0)
                {
                    bytesRead = video.Read(buffer, 0, Math.Min(length, buffer.Length));
                    await outputStream.WriteAsync(buffer, 0, bytesRead);
                    length -= bytesRead;
                }
            }
        } …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc video-streaming asp.net-core asp.net-core-webapi

9
推荐指数
1
解决办法
3397
查看次数