2017-06-25 1 views
0

Ich habe ein Problem beim Laden von MTL-Dateien in Chrome mit Three.js. Es funktioniert gut in Safari, aber ich bekomme in Chrome einen Cross-Ursprungs-Fehler. Ich weiß nicht, wie ich dieses Problem für lokale Dateien beheben kann. Es funktioniert gut, wenn ich dies auf einer http-Website in Chrome veröffentlichen.Three.js lädt lokale MTL-Dateien in Chrome

var mtlLoader = new THREE.MTLLoader(); 
mtlLoader.setPath('assets/'); 
mtlLoader.setBaseUrl('assets/'); 
mtlLoader.load('file.mtl', function(materials) { 
    ... 
}); 

three.js: 18280 XMLHttpRequest-Datei nicht laden kann: ///.../assets/file.mtl. Cross-Ursprungsanforderungen werden nur für Protokollschemata unterstützt: http, data, chrome, chrome-extension, https.

+0

Vielleicht [dieser Thread] (https://stackoverflow.com/q/10752055/4045502) wird hilfreich sein – prisoner849

Antwort

0

ist diese Frage nicht wirklich ein THREEjs aber ich werde es hier sowieso beantworten:

Dies ist eine Website nicht wirklich sicher oder zulässig zu ermöglichen, Dateien aus dem lokalen Dateisystem zu beantragen.

Was ist, wenn die Website einen Index von file: /// C:/Benutzer/Installation/Bilder/auf einem Windows-System angefordert hat und dann gerade angefangen hat, den gesamten Inhalt auf den Server zu laden.

Das ist wirklich unsicher, weil es bösartigen Agenten erlauben könnte, Dateien von Ihrem Computer zu entfernen, nur indem Sie besuchen. Daher dürfen Websites nur Dateien von außerhalb des lokalen Dateisystems anfordern.

Sie sollten Mamp oder die integrierte Server-Emulation in Brackets verwenden. Ich benutze Mamp, weil es es auch einfach macht, schnell auf dem Handy zu testen, und es ist viel schneller als mit einem FTP zu arbeiten.

Verwandte Themen