我正在使用Azure blob存储来存储我的所有图像和视频。我已经实现了上传和提取功能,并且运行良好。加载视频时遇到1个问题,因为当我使用将视频上传到Azure blob存储上后生成的url时,它将首先下载所有内容,然后再呈现给用户。因此,如果视频大小为100 mb,它将下载全部100 mb,直到用户看不到视频为止。
我已经做了很多研发工作,并且知道在渲染视频时,我需要获取部分内容(状态206),而不是一次获取整个视频。添加请求标头“ Range:bytes-500”后,我尝试访问博客URL,但仍在下载整个内容。因此,我检查了一些开源视频URL,并尝试将视频URL连同“ Range”请求标头一起打入,它成功给出了206响应状态,这意味着它正确地给了我部分内容而不是完整的视频。
我读过一些论坛,他们说Azure存储支持部分内容概念,需要从属性中启用它。但是我已经检查了Azure存储帐户下的所有选项,但未找到任何启用此功能的选项。
任何人都可以帮助我解决此问题,或者我需要启用Azure门户上的任何功能吗?自从一个星期以来,我一直在为此进行研发。任何帮助将不胜感激。
谢谢!保持安全。
假设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);
下面是设置属性后的返回标头比较。
[之前:
之后: