Javascript
如何實現緩衝區/可讀流以便將文件添加到 IPFS?
我正在嘗試將文件從我的目錄上傳到 IPFS。
以下是他們對 API 的要求:
const files = [ { path: '/tmp/myfile.txt', content: (Buffer or Readable stream) } ] ipfs.files.add(files, function (err, files) { // 'files' will be an array of objects containing paths and the multihashes of the files added })
我不明白“緩衝區或可讀流”是什麼意思。更具體地說,我不確定如何正確實現它,因為我以前沒有做過。
“路徑”和“內容”有什麼區別?為什麼他們需要分開?
來源:https ://github.com/ipfs/js-ipfs/tree/master/examples/ipfs-101
js-ipfs 期望您將文件讀入緩衝區(包含數據的數組)。您是否碰巧在https://github.com/ipfs/interface-ipfs-core/blob/master/SPEC/FILES.md#files-api上找到文件。
您可以在範例https://github.com/ipfs/js-ipfs/blob/master/examples/ipfs-101/1.js#L18中查看如何創建緩衝區或學習如何將文件讀入Node.js 文件中的緩衝區https://nodejs.org/api/fs.html#fs_fs_readfilesync_path_options
希望這可以幫助 :)
更新:這是一種方法
const fs = require('fs') const files = [ { path: '/tmp/myfile.txt', content: fs.readFileSync('/tmp/myfile.txt') } ] ipfs.files.add(files, function (err, files) { // 'files' will be an array of objects containing paths and the multihashes of the files added })
試試我在這個問題中的回答How to add a file to IPFS using the API? .
我很困惑,直到我從 FileNation 的程式碼中找到了這個食譜。