首页 > 解决方案 > 检查 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 资产是否存在?

标签: javascriptreactjsgoogle-cloud-storage

解决方案


根据您提到的,您仍然没有为您的存储桶配置 CORS 策略。您可以在此处阅读有关如何执行此操作的更多信息,然后重试。

让我知道它是否有帮助


推荐阅读