我创建了一个高级Azure Blob Storage
帐户,创建了一个Shared Access Signature
,并尝试从asp.net core
下运行的http://localhost:5001
Web应用程序html页面上传图像。
我在门户中没有看到CORS部分。因此,我在防火墙和虚拟网络下设置了所有网络,我认为应该允许http://localhost:5001
。
当我尝试发布到 Blob 帐户时出现以下错误:
Access to XMLHttpRequest at 'https://mypictures.blob.core.windows.net/<Token>' from origin 'https://localhost:5001' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
答案 0 :(得分:2)
出现此错误的原因是因为未为您的存储帐户的Blob服务配置CORS。之所以看不到在Azure Portal中配置CORS的选项,是因为Premium Storage Accounts
不支持CORS。
来自此link
:
您将需要使用AzCopy
,Azure PowerShell
,Azure CLI
,其他存储浏览器等其他方式在高级存储帐户中上传文件,或者使用任何可用的SDK自己编写代码。< / p>