上传图片到imgur失败,因为cors问题。

5
我正在尝试使用JS(浏览器)将图像上传到imgur,并遇到CORS错误:
Access to XMLHttpRequest at 'https://api.imgur.com/3/upload' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

但是预检请求包含 Access-Control-Allow-Origin 头部: enter image description here

请求本身:
enter image description here

我漏掉了什么?这是因为 access-control-allow-credentials 被设置为 true 吗?


1
截图清楚地显示了 access-control-allow-origin: *,但错误提示说它不存在。我怀疑该错误是指另一个请求。 - Sidney
谢谢,我还添加了一个请求本身的截图。也许我对CORS工作流程有些不理解。 - Michael
请求的截图似乎没有包含响应头? - Sidney
浏览器由于CORS策略而阻止了响应。 - Michael
1
由于预检请求已成功通过CORS头,因此浏览器应该发送POST请求。如果POST响应没有CORS头,则浏览器将禁止JavaScript访问响应。但是,它仍然应该显示在开发工具中。如果您在浏览器之外运行相同的请求呢?也许在Postman中。您是否在那里看到CORS头? - Sidney
显示剩余4条评论
2个回答

12

0
根据dochttps://api.imgur.com/3/upload没有必要的头信息,
但是在右侧,curl示例使用https://api.imgur.com/3/imageAccess-Control-Allow-Origin头信息。
而且他们会检查你的引用来源,这意味着如果你处于开发模式,比如webpack dev mode使用localhost:8000,它将始终返回429 too many request 异常。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接