STL 파일을 읽고 표시하는 기능 중 하나입니다. 파일 입력을 사용하여 사용자가 업로드 한 파일을 받아 FileReader API를 사용하여 파일을 읽는 openFile
으로 전달합니다.JavaScript FileReader API에 기존 서버 파일 전달
window.addEventListener("load", function() {
...
...
// file load
var openFile = function (file) {
console.log(file);
var reader = new FileReader();
reader.addEventListener("load", function (ev) {
var buffer = ev.target.result;
var geom = loadStl(buffer);
scene.remove(obj);
obj = new THREE.Mesh(geom, mat);
scene.add(obj);
}, false);
reader.readAsArrayBuffer(file);
};
// file input button
var input = document.getElementById("file");
input.addEventListener("change", function (ev) {
var file = ev.target.files[0];
openFile(file);
}, false);
}, false);
그러나이 파일을 내 서버에있는 openFile
에 전달하고 싶습니다.
var file = new File ("myfile.stl");
openFile(file);
을했지만 작동하지 않습니다
나는 사용하여 시도했다.
을 봐 주셔서 감사합니다. 나는 당신이 말하는 것을 이해했습니다. AJAX'xhttpRequest'를 사용하여 내 서버에서 로컬 JS로 파일을로드 한 다음 'FileReader'로 전달하는 방법은 어떻습니까 ??? – user3828862
원격 파일에'FileReader'가 필요 없다고 생각합니다. [ArrayBuffer] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)를 참조하십시오. 나는 당신이 당신의'load' 이벤트 핸들러 에서처럼 버퍼를 직접 처리 할 필요가 있다고 생각합니다. –
굉장합니다. 그것은 완벽하게 작동했습니다. 정말 고맙습니다 :) :) – user3828862