2017-08-20 40 views
3

我正在使用IPFS在這個項目上工作,我試圖創建一個網站,允許用戶直接從他們的瀏覽器上傳文件到IPFS。我的目標是,該網站將成爲一個前端網站,但每當我添加一個文件到IPFS,並檢查它的散列https://gateway.ipfs.io/ipfs/hash-here什麼也沒有發生,這使我認爲這些文件可能沒有上傳到IPFS,因爲我不是在我的本地機器上運行它。它是否正確?我需要IPFS守護程序從瀏覽器上傳文件嗎?

const Buffer = require('safe-buffer').Buffer; 

export default function uploadFiles(node, files) { 

    let reader = new FileReader(); 

    reader.onloadend =() => { 

     let byteData = reader.result.split('base64,')[1]; 
     let fileData = Buffer.from(byteData); 

     node.files.add(fileData, (err, res) => { 

      if (err) { 
       throw err 
      } 

      let hash = res[0].hash 
      console.log(hash); ///////prints a hash that isnt visible on 
           //gateway 

      node.files.cat(hash, (err, res) => { 
       if (err) { 
        throw err 
       } 
       let data = '' 
       res.on('data', (d) => { 
        data = data + d 
       }) 
       res.on('end',() => { 
        // console.log(data); 
        // console.log(atob(data)); 
       }) 
      }) 

     }); 

    } 

    reader.readAsDataURL(files['0']); 

}; 

回答

1

你在瀏覽器中運行js-ipfs節點嗎?你有機會看看js-ipfs repo中examples文件夾中的例子嗎?網址如下:https://github.com/ipfs/js-ipfs/tree/master/examples

如果向節點添加文件並且該節點處於打開狀態,則IPFS網關節點將能夠從瀏覽器節點中查找內容。

+0

是的,我正在運行一個節點,但是當我粘貼散列在我粘貼的URL中時,頁面只會永久加載並且什麼都不會發生。 – ninesalt

+0

你能粘貼一個複製你的問題的片段嗎? –

+0

已添加。片段處理從另一個組件上傳的文件。 – ninesalt

相關問題