Azure存储。得到403 [url](未启用CORS或找不到此请求的匹配规则。)

时间:2018-06-10 15:31:26

标签: azure web cors azure-storage-blobs preflight

我正在开发一些网页,允许直接从客户端上传文件到我的azure存储。 我的文件存储在Portal中的Azure BLOB存储中。 为此,我使用了来自npm的'azure-storage'v2.8.1软件包。

我正在尝试创建容器:

    const blobService = AzureStorage.createBlobServiceWithSas(storageUri, sasToken)
    blobService.createContainerIfNotExists(containerName, { publicAccessLevel: 'blob' }, (error, result, response) => {.....})

我收到了错误:

  1. OPTIONS [url to my storage] 403(未启用CORS或找不到此请求的匹配规则。)

  2. 无法加载[url to my storage]:对预检请求的响应未通过访问控制检查:请求的资源上没有“Access-Control-Allow-Origin”标头。

  3. 我确定blob连接字符串是正确的 - 我检查了它。 另外我知道我可以在azure.portal上为我的存储编辑CORS。 目前它是空的。

    我是否需要添加/编辑一些CORS? 有人知道解决方案吗?

1 个答案:

答案 0 :(得分:5)

  

我是否需要添加/编辑一些CORS?有人知道解决方案吗?

是的,您需要为存储blob服务添加CORS设置。默认情况下,每个服务都禁用CORS。我们可以从article获得有关CORS的更多信息。

  

注意:高级存储帐户不支持CORS。

我们也可以从Azure门户设置它。更多详情请参阅截图。

enter image description here