我正在使用HTTP请求将图像上传到Azure存储,当存储帐户的CORS通用时,这对我来说是有用的,例如:
allowed origins: *
allowed methods: 7 selected (which all options)
allowed headers: *
exposed headers: *
max age: 0
在我的Http请求中(唱axios):
headers: {
"Access-Control-Allow-Origin" : "*",
"Access-Control-Allow-Methods": "*",
"Access-Control-Allow-Headers": "*",
"Content-Type": "image/png",
"x-ms-date": currentDate,
"x-ms-version": ""2017-11-09"",
"x-ms-blob-type": "BlockBlob",
}
它可以与我一起工作并上传图像,但是当我修改CORS以添加一些约束时,它不起作用。例如:
allowed origins: https://XXXXXXXX.blob.core.windows.net/
allowed methods: 7 selected (which all options)
allowed headers: Authorization,x-ms-*
exposed headers: x-ms-meta-*
max age: 3600
在我的HTTP请求中(唱axios):
headers: {
"Access-Control-Allow-Origin" : "https://XXXXXXXX.blob.core.windows.net/",
"Access-Control-Allow-Methods": "PUT,GET,PATCH,POST,HEAD,DELETE,MERGE,OPTIONS",
"Access-Control-Allow-Headers": "Authorization,x-ms-*,content-*",
"Content-Type": "image/png",
"x-ms-date": currentDate,
"x-ms-version": ""2017-11-09"",
"x-ms-blob-type": "BlockBlob",
}
我遇到了两条错误消息:
选项 https://XXXXXXXXXX.blob.core.windows.net/user-avatar/XXXXXXXXXXXXXXXXXXXXXXXX 403(未启用CORS或找不到与此请求匹配的规则。)
无法加载 https://XXXXXXXXXX.blob.core.windows.net/user-avatar/XXXXXXXXXXXXXXXXXXXXXXXX: 对预检请求的响应未通过访问控制检查:否 请求中存在“ Access-Control-Allow-Origin”标头 资源。因此,不允许原点“ http://localhost:8080” 访问。
我应该如何解决问题?
答案 0 :(得分:1)
更改此行
"Access-Control-Allow-Origin" : "https://XXXXXXXX.blob.core.windows.net/",
到
"Access-Control-Allow-Origin" : "localhost:8080/",