如何为Azure门户中的高级存储帐户设置Azure Blob服务的CORS?

如何为Azure门户中的高级存储帐户设置Azure Blob服务的CORS?,azure,cors,azure-storage-blobs,Azure,Cors,Azure Storage Blobs,我创建了一个高级Azure Blob存储帐户,创建了一个共享访问签名,并尝试从asp.net核心web应用程序html页面上传一个图像,该页面在http://localhost:5001 我在门户中没有看到CORS部分。因此,我在防火墙和虚拟网络下设置了所有网络,我认为应该允许http://localhost:5001 当我试图发布到Blob帐户时,出现以下错误: 访问位于的XMLHttpRequest'https://mypictures.blob.core.windows.net/“起源”h

我创建了一个高级
Azure Blob存储
帐户,创建了一个
共享访问签名
,并尝试从
asp.net核心
web应用程序html页面上传一个图像,该页面在
http://localhost:5001

我在门户中没有看到CORS部分。因此,我在防火墙和虚拟网络下设置了所有网络,我认为应该允许
http://localhost:5001

当我试图发布到Blob帐户时,出现以下错误:


访问位于的XMLHttpRequest'https://mypictures.blob.core.windows.net/“起源”https://localhost:5001'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在'access control Allow Origin'标头。

出现此错误的原因是因为没有为存储帐户的blob服务配置CORS。您没有看到在Azure Portal中配置CORS选项的原因是,
高级存储帐户不支持CORS

由此:


您需要使用其他方式(如
AzCopy
Azure PowerShell
Azure CLI
)在高级存储帐户中上载文件,任何存储资源管理器或使用任何可用SDK自己编写代码。

说明门户中BLOB服务下有一个CORS部分。但我在我的门户帐户中看不到这一点。快速问题:如果你想上载图像,为什么要创建“高级存储帐户”?我现在使用angular package
@azure/Storage Blob
将文件上载到非高级Blob存储。我可以直接从浏览器上传。即使我可以在Asp.net核心Web API中使用SDK调用,高级Blob存储是否允许来自承载Asp.net核心Web API的另一个应用程序服务端点的请求?我不确定我是否理解这个问题。你介意再详细说明一下吗?但是,如果您只希望上载图像文件(即BlockBlob)并希望获得优异的性能,我建议您选择帐户类型为
BlockBlobStorage
。具有
Premium
性能级别的帐户类型
Storage
StorageV2
仅支持
Page
blob,用于存储虚拟机的VHD。