Javascript

如何實現緩衝區/可讀流以便將文件添加到 IPFS?

  • January 6, 2022

我正在嘗試將文件從我的目錄上傳到 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 的程式碼中找到了這個食譜。

引用自:https://ethereum.stackexchange.com/questions/32046