我正在使用 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",
}
我遇到两条错误消息:
OPTIONS https://XXXXXXXXXX.blob.core.windows.net/user-avatar/XXXXXXXXXXXXXXXXXXXXXXXX 403 (CORS not enabled or no matching rule found for this request.)
Failed to load https://XXXXXXXXXX.blob.core.windows.net/user-avatar/XXXXXXXXXXXXXXXXXXXXXXXX: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
我该如何解决这个问题?
最佳答案
更改此行
"Access-Control-Allow-Origin" : "https://XXXXXXXX.blob.core.windows.net/",
至
"Access-Control-Allow-Origin" : "localhost:8080/",
关于javascript - 403(CORS 未启用或未找到此请求的匹配规则。)[VueJs],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51914834/