使用Azure Blob存储中的.Net Core API异步流式传输视频

阿斯拉姆医师

我发现了很多示例,这些示例使用了应用程序中不可用的对象,而且似乎与我的.NET Core Web API版本不匹配。本质上,我正在一个项目上,该项目将在网页上具有标签,并且想要使用来自服务器的流而不是通过路径直接提供文件来加载视频。原因之一是文件的来源可能会更改,并且通过路径提供文件不是我的客户想要的。因此,我需要能够打开流并异步写入视频文件。

由于某种原因,这会产生JSON数据,所以这是错误的。我正在从Azure Blob存储下载视频文件并以流的形式返回,但是我只是不明白将流的视频文件发送到HTML中的标记所需的操作。

我的API控制器,

[AllowAnonymous]
    [HttpGet("getintroductoryvideos")]
    public async Task<Stream> GetIntroductoryVideos()
    {
        try
        {
            return  _documentsService.WriteContentToStream().Result;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

我的服务班,

 public async Task<Stream> WriteContentToStream()
    {
        var cloudBlob = await _blobService.GetBlobAsync(PlatformServiceConstants._blobIntroductoryVideoContainerPath + PlatformServiceConstants.IntroductoryVideo1, introductoryvideocontainerName);
        await cloudBlob.FetchAttributesAsync();

        var fileStream = new MemoryStream();
        await cloudBlob.DownloadToStreamAsync(fileStream);
        return fileStream;
    }
杨van |

您可以尝试以下代码:

API控制器:

[AllowAnonymous]
[HttpGet("getintroductoryvideos")]
public async Task<FileContentResult> GetIntroductoryVideos(string videoname)
{        
   return  await _documentsService.WriteContentToStream();        
}

服务等级:

public async Task<FileContentResult> WriteContentToStream()
{
    var cloudBlob = await _blobService.GetBlobAsync(PlatformServiceConstants._blobIntroductoryVideoContainerPath + PlatformServiceConstants.IntroductoryVideo1, introductoryvideocontainerName);

    MemoryStream fileStream = new MemoryStream();
    await cloudBlob.DownloadToStreamAsync(fileStream);
    return new FileContentResult (fileStream.ToArray(), "application/octet-stream");

}

HTML:

<div className="xxx">
  <video height="auto">
      <source src="xx/getintroductoryvideos?videoname=xxx" type="video/mp4" />
  </video>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Azure Blob存储流式传输视频

来自分类Dev

使用.NET Core 2.2从Azure存储中获取所有Blob

来自分类Dev

如何使用Blobstore API播放(流式传输而不是下载式)存储在GCS中的视频文件

来自分类Dev

为什么不能从ASP.NET Core应用程序中删除Azure存储帐户中的任何Blob?

来自分类Dev

使用 REST API 向 .Net Core Core 中的 Azure 服务总线队列发送消息

来自分类Dev

使用API在Azure Blob存储中编辑文件

来自分类Dev

在 Azure 存储 Blob 上使用 .Net Core 和 C# 将图像序列转换为 MP4 文件

来自分类Dev

使用.Net Core 3.1中的MongoDB API在Azure Cosmos DB中出现重复的关键问题

来自分类Dev

使用Node将上传的文件流式传输到Azure Blob存储

来自分类Dev

api net.core 1.1 中的 Azure 通知中心

来自分类Dev

如何使用ASP.NET MVC流式传输视频文件?

来自分类Dev

如何从C#Core中的Azure Blob存储中读取所有文件

来自分类Dev

如何将日志从Asp Net Core WebApi存储到Azure表存储中?

来自分类Dev

将“Azure Blob 存储”文件 URL 流式传输到 Amazon S3 存储桶

来自分类Dev

Azure Blob上传在.Net Core 3.0应用程序中调用.Upload()时挂起

来自分类Dev

Azure中的ASP.Net Core Sqlite

来自分类Dev

Azure / Blob存储中带有RollingFileAppender的log4net

来自分类Dev

上传存储在Azure Blob存储中的文件

来自分类Dev

使用WebRTC从画布元素流式传输视频

来自分类Dev

使用libvlc从内存流式传输视频?

来自分类Dev

使用节点通过 websocket 流式传输视频

来自分类Dev

使用 SDL 流式传输 UYVY 视频

来自分类Dev

存储过程在.net Core中填充模型

来自分类Dev

dot net core中的存储过程

来自分类Dev

取消 .NET Core 中的存储过程

来自分类Dev

使用Azure中的ASP.NET Core在Redis中保存用户会话

来自分类Dev

在Azure Service Fabric中的ASP.NET Core中使用WebListener

来自分类Dev

使用Vue JS和.Net Core Web API这样的堆栈-在哪里实现auth(Azure AD)?

来自分类Dev

如何在Azure上分别使用Net Core API部署Angular 7

Related 相关文章

  1. 1

    从Azure Blob存储流式传输视频

  2. 2

    使用.NET Core 2.2从Azure存储中获取所有Blob

  3. 3

    如何使用Blobstore API播放(流式传输而不是下载式)存储在GCS中的视频文件

  4. 4

    为什么不能从ASP.NET Core应用程序中删除Azure存储帐户中的任何Blob?

  5. 5

    使用 REST API 向 .Net Core Core 中的 Azure 服务总线队列发送消息

  6. 6

    使用API在Azure Blob存储中编辑文件

  7. 7

    在 Azure 存储 Blob 上使用 .Net Core 和 C# 将图像序列转换为 MP4 文件

  8. 8

    使用.Net Core 3.1中的MongoDB API在Azure Cosmos DB中出现重复的关键问题

  9. 9

    使用Node将上传的文件流式传输到Azure Blob存储

  10. 10

    api net.core 1.1 中的 Azure 通知中心

  11. 11

    如何使用ASP.NET MVC流式传输视频文件?

  12. 12

    如何从C#Core中的Azure Blob存储中读取所有文件

  13. 13

    如何将日志从Asp Net Core WebApi存储到Azure表存储中?

  14. 14

    将“Azure Blob 存储”文件 URL 流式传输到 Amazon S3 存储桶

  15. 15

    Azure Blob上传在.Net Core 3.0应用程序中调用.Upload()时挂起

  16. 16

    Azure中的ASP.Net Core Sqlite

  17. 17

    Azure / Blob存储中带有RollingFileAppender的log4net

  18. 18

    上传存储在Azure Blob存储中的文件

  19. 19

    使用WebRTC从画布元素流式传输视频

  20. 20

    使用libvlc从内存流式传输视频?

  21. 21

    使用节点通过 websocket 流式传输视频

  22. 22

    使用 SDL 流式传输 UYVY 视频

  23. 23

    存储过程在.net Core中填充模型

  24. 24

    dot net core中的存储过程

  25. 25

    取消 .NET Core 中的存储过程

  26. 26

    使用Azure中的ASP.NET Core在Redis中保存用户会话

  27. 27

    在Azure Service Fabric中的ASP.NET Core中使用WebListener

  28. 28

    使用Vue JS和.Net Core Web API这样的堆栈-在哪里实现auth(Azure AD)?

  29. 29

    如何在Azure上分别使用Net Core API部署Angular 7

热门标签

归档