无法在 WebGL 中渲染来自 S3 存储桶的图像

Can not render image from S3 bucket in WebGL

当我的 JavaScript 应用程序尝试从我的 Amazon S3 帐户加载图像并在 WebGL 中呈现它时,浏览器会抛出 CORS 错误。我更改了 S3 存储桶的 CORS 配置以允许访问:

<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>Authorization</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

不幸的是,当我尝试从 S3 存储桶渲染图像时,浏览器仍然抛出 CORS 错误。

有没有漏掉的步骤?或者,这只是正常现象吗?换句话说,无论文件的域是否允许通过适当的 CORS 配置访问,WebGL 是否总是拒绝跨域文件?

According to MDN

In order to load it with CORS as a WebGL texture, we set the crossOrigin attribute on it:

var earthImage = new Image();
earthImage.crossOrigin = "anonymous";

Now we load it as usual:

earthImage.onload = function() {
  // whatever you usually to do load WebGL textures
};
earthImage.src = "http://khm0.googleapis.com/kh?v=95&x=0&y=0&z=0";