TextureLoader无法加载跨域图像

时间:2019-05-22 08:41:49

标签: javascript three.js

我无法通过TextureLoader在chrome中加载图像

我想从“ https://commons.wikimedia.org/wiki/Special:FilePath/Engels.jpg?width=300” URL加载图像,但是出现错误“在'https://commons.wikimedia.org/wiki/Special:FilePath/Engels.jpg?width=300处访问图像”(从“ http://commons.wikimedia.org/wiki/Special:FilePath/Engels.jpg?width=300重定向” )从源'null'被CORS策略阻止:请求的资源上没有'Access-Control-Allow-Origin'标头。”(我将loader.crossOrigin设置为匿名)。如果我将loader.crossOrigin设置为undefined,loader可以加载图像,但无法呈现错误,并显示为“ THREE.WebGLState:TypeError:无法在'WebGLRenderingContext'上执行'texImage2D':找不到与提供的签名匹配的功能。”

1 个答案:

答案 0 :(得分:1)

https://commons.wikimedia.org上的服务器尚未实现Access-Control-Allow-Origin头,因此您可能无法直接获取图像。

您可以将图像保存到本地文件系统中并进行引用,这肯定会起作用。