javascript - 检查 Google Cloud Storage 中是否存在资产 - cors 错误
问题描述
我有一些资产上传到 Google Cloud Storage。在我的客户端,我需要以条件逻辑显示它们,即。如果有 Google Cloud Storage 上传的资产,则显示它,否则显示不同的东西。所以在我把它放到img
属性中之前,src
我需要检查它的存在。为了做到这一点,我想使用 axios(因为我在我的项目中使用 axios)。现在的检查功能看起来像这样(非常简单):
useEffect(() => {
axios.get(imageSource).then((response) => {
console.log(response)
}).catch((error) => {
console.log(error)
})
}, []);
我曾经useEffect
在组件的生命周期开始时检查它。
出于某种原因,虽然我收到了 cors 错误:
Access to XMLHttpRequest at 'here goes file url' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
这对我来说是非常出乎意料的,因为我确实可以在浏览器中访问该链接并毫不费力地下载它。我应该在 GCS 平台上启用某些功能,还是有其他方法可以检查 GCS 资产是否存在?
解决方案
根据您提到的,您仍然没有为您的存储桶配置 CORS 策略。您可以在此处阅读有关如何执行此操作的更多信息,然后重试。
让我知道它是否有帮助
推荐阅读
- google-apps-script - 脚本要么给出 429 错误(请求太多),要么耗时太长。如何链接函数调用?
- r - 无法对 R 中的数据框应用 t 检验
- sql - BigQuery 插入值 AS,假定缺失列为空
- python - 如何使用opencv自动随机生成类似划痕的线条
- javascript - 表示 GraphQL 模式的最佳方式
- java - Grails 3.x 和 2.5.x 以及 java 11 兼容性问题
- php - 自动同步多个不同表结构的sql表
- c# - 我们可以在 .Net 核心上使用 iText 7 将 pdf 转换为 docx 吗?
- sql - 按 JSON 数组中的元素选择前 3 个元素
- android - 打开 WebView 页面后 Flutter AR Camera 崩溃