Three.js - 无法将本地图像用于 loadTexture
Three.js - Cannot use local image for loadTexture
我试图在 Three.js 中使用本地图像进行 loadTexture,但出现以下错误:
未捕获的安全错误:无法在 'WebGLRenderingContext' 上执行 'texImage2D':位于 .... 的跨源图像可能无法加载。
我在 apache tomcat(本地)上有一个 java 应用程序 运行ning,它为我的图像提供以下 url:http://localhost:8084/sve/img/wood-texture.jpg。
这是我的java脚本代码,我在其中尝试加载图像:
var woodTexture = new THREE.ImageUtils.loadTexture('http://localhost:8084/sve/img/wood-texture.jpg');
我正在使用 Google Chrome(版本 40.0.2214.111 m)运行 我的 Three.js 程序。我也尝试这样启动 chrome:chrome.exe --allow-file-access-from-files。但是我得到了同样的错误。
有人对此有任何解决方案吗?
确保纹理由与您的 three.js 应用相同的服务器提供服务可能是最简单的。
如果您仍然需要它来自另一个服务器(在您的示例中另一个端口上的 Java 应用程序),您需要让 Java 应用程序设置一些 CORS headers .
例如:"Access-Control-Allow-Origin: *"
有关详细信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS。
我试图在 Three.js 中使用本地图像进行 loadTexture,但出现以下错误: 未捕获的安全错误:无法在 'WebGLRenderingContext' 上执行 'texImage2D':位于 .... 的跨源图像可能无法加载。
我在 apache tomcat(本地)上有一个 java 应用程序 运行ning,它为我的图像提供以下 url:http://localhost:8084/sve/img/wood-texture.jpg。
这是我的java脚本代码,我在其中尝试加载图像:
var woodTexture = new THREE.ImageUtils.loadTexture('http://localhost:8084/sve/img/wood-texture.jpg');
我正在使用 Google Chrome(版本 40.0.2214.111 m)运行 我的 Three.js 程序。我也尝试这样启动 chrome:chrome.exe --allow-file-access-from-files。但是我得到了同样的错误。
有人对此有任何解决方案吗?
确保纹理由与您的 three.js 应用相同的服务器提供服务可能是最简单的。
如果您仍然需要它来自另一个服务器(在您的示例中另一个端口上的 Java 应用程序),您需要让 Java 应用程序设置一些 CORS headers .
例如:"Access-Control-Allow-Origin: *"
有关详细信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS。