2013-07-10 2 views
1

XTK를 사용하여 웹 서버에서 직접 전송하는 vtk 객체를 디스크에 저장하지 않고 렌더링하려고합니다. XTK Documentation에 따르면 나는 vtk 파일을 X.Mesh.filedata에 문자열로 전달해야하지만, 그렇게하려고 할 때 아무것도 표시하지 않는다.데이터를 전달하기 위해 파일 속성 대신 filedata를 사용하십시오.

나는 이런 식으로 뭔가를 할 :

var data = recieveVTKFileAsStringFromServer(); 
var r = new X.renderer3D(); 
r.init(); 

// create a mesh from a .vtk file 
var dataset = new X.mesh(); 
// dataset.file = 'someFile.vtk'; 
dataset.filedata = data; 

// add the object 
r.add(dataset); 

// .. and render it 
r.render(); 

내가 파일 모두에서 파일을로드

는 FILEDATA를 사용하여 설정, 잘 작동하지 않습니다. 내 실수는 어디 갔지?

답변

0

파일 속성을 설정하는 대신 filedata를 사용하여 직접 이진 데이터를로드하는 비슷한 시나리오가 나타났습니다. 필자는 filedata에 설정된 실제 이진 데이터와 함께 파일 속성에 더미 이름을 전달하여이 작업을 수행했으며 모든 것이 올바르게 작동합니다.

var xhr = new XMLHttpRequest(); 
xhr.open('GET', '/test.nii', true); 
xhr.responseType = 'arraybuffer'; 
xhr.send(); 
    xhr.onreadystatechange = function (e) { 
     if (this.readyState === 4) { 
      var r = new X.renderer2D(); 
      r.container = 'myImg'; 
      r.orientation = 'Z'; 
      r.init(); 
      volume = new X.volume(); 
      volume.file = "abc.nii"; 
      volume.filedata = this.response; 
      r.add(volume); 
      r.render(); 
     } 
    };