Azure Blob存储默认情况下是否支持部分内容206?

问题描述 投票:1回答:1

我正在使用Azure blob存储来存储我的所有图像和视频。我已经实现了上传和提取功能,并且运行良好。加载视频时遇到1个问题,因为当我使用将视频上传到Azure blob存储上后生成的url时,它将首先下载所有内容,然后再呈现给用户。因此,如果视频大小为100 mb,它将下载全部100 mb,直到用户看不到视频为止。

我已经做了很多研发工作,并且知道在渲染视频时,我需要获取部分内容(状态206),而不是一次获取整个视频。添加请求标头“ Range:bytes-500”后,我尝试访问博客URL,但仍在下载整个内容。因此,我检查了一些开源视频URL,并尝试将视频URL连同“ Range”请求标头一起打入,它成功给出了206响应状态,这意味着它正确地给了我部分内容而不是完整的视频。

我读过一些论坛,他们说Azure存储支持部分内容概念,需要从属性中启用它。但是我已经检查了Azure存储帐户下的所有选项,但未找到任何启​​用此功能的选项。

任何人都可以帮助我解决此问题,或者我需要启用Azure门户上的任何功能吗?自从一个星期以来,我一直在为此进行研发。任何帮助将不胜感激。

谢谢!保持安全。

azure video-streaming rendering azure-storage-blobs azure-blob-storage
1个回答
0
投票

假设Accept-Ranges未启用,从此blog我需要它set the default version of the service

下面是实现它的示例代码。

            var credentials = new StorageCredentials("account name", "account key");
            var account = new CloudStorageAccount(credentials, true);
            var client = account.CreateCloudBlobClient();
            var properties = client.GetServiceProperties();
            properties.DefaultServiceVersion = "2019-07-07";
            client.SetServiceProperties(properties);

下面是设置属性后的返回标头比较。

[之前

enter image description here

之后

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.