繁体   English   中英

无法从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错误。

我错过了一步吗? 或者,这是正常现象吗? 换句话说,WebGL是否总是拒绝跨域文件,而不管文件的域是否允许通过适当的CORS配置进行访问?

根据MDN

为了使用CORS作为WebGL纹理加载它,我们在其上设置了crossOrigin属性:

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

现在我们像往常一样加载它:

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";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM