2017-02-08 25 views
1

콜백 응답 본문을 MongoDB에 저장하려고합니다. 특히, "main.js - server"파일에서이 유성 메소드로 /ipfs/add을 실행 중입니다.ipfs.util.addFromFS에서 콜백 응답을 수집하는 중 문제가 발생했습니다.

ipfsAdd: function(){ 
    var result = ipfs.util.addFromFs('/home/eruguru/CreativeCommonPlace/server/landscape.jpg'); 
    return (result); 
}, 

그런 다음 HTML 단추를 클릭 할 때 실행되는이 meteor js 템플릿으로 가져 왔습니다.

Template.ipfsAdd.events({ 
    'click .ipfsButton': function(event){ 
     Meteor.call("ipfsAdd", function(err, res) 
     {console.log(err, res)}); 
    } 
}) 

나는 내가이로이 객체를 정의하는 방법이다 붙어

{ 
    hash: "QmW1xtbLAmS9TBfmeHnhNC7cavLEcxDPHa2MfJtRSmy8dC", 
    path: "landscape.jpg", 
    size: 132713 
} 

그래서 제 생각 엔 정의되지 않은 객체의 일환으로 콘솔에서 예상되는 출력을 얻을로 기능이 작동하는지 알고 변수를 내 MongoDB의 일부로 수집하십시오.

나의 궁극적 인 목표는 첫 번째 열이 파일 이름 목록이고, 두 번째 열은 파일 크기이고, 세 번째 열은 정의되지 않은 콜백 응답 개체의 해시입니다.

잘못된 장소에 게시하거나 다른 신참 실수를 저 지르면 미리 사과하십시오. 나는 이것이 스택 교환에 관한 나의 첫번째 질문이라고 생각한다.

도움을 주셔서 감사합니다.

+0

이 질문을 첫 번째 질문이기 때문에 추가하고 싶습니다.이 질문을 제시하는 방법에 대해 다시 생각해보십시오. 제목 구. 일반 발표 및 이해의 용이함, 잘 전달되었는지 여부. –

답변

0

그래서 며칠 후 나는 내 문제를 알아 냈고 누구나 비슷한 문제에 대한 도움이 필요하면이 문제가 해결됩니다. IPFS는 알파 상태이며 문서 및 API는 언제든지 변경 될 수 있습니다.

"res"console.log 출력의 필드 (해시, 경로 및 크기)에 마우스를 올린 후 '[ "0"]. 해시'를 표시하는 팝업이 나타났습니다. 그래서 나는 내 Template.ipfsAdd.events 스크립트를 수정해야했습니다.

Template.ipfsAdd.events({ 
    'click .ipfsButton': function(event){ 
    Meteor.call("ipfsAdd", 
    function(err, res){ 
     //console.log(err, res) 
     ListofFiles.insert({ 
     text: res["0"].hash, 
     }); 
    } 
    ); 
    } 
}) 

여기서 "ListOfFiles"는 정보를 추가하려는 MongoDB의 이름입니다. 이는 경로 및 크기 필드에서도 작동합니다. 하나의 ipfsAdd 함수에 여러 파일을 추가하는 경우 res 색인을 해당 파일로 변경하십시오.