在 javascipt 中使用 ipfs:如何以与从命令行将其转储到文件相同的方式读取对象并读取文件?

问题描述

我有一些箭头文件,我想用 javascript 读取。通过命令行将其转储到文件ipfs get HASH 然后

fs = require('fs')
a = fs.readFileSync(HASH)
da = arrow.Table.from(a)

工作正常。

加载 cid (HASH)

ipfs = require('ipfs')    
ipfs.create({repo: String(Math.random() + Date.Now()) }).then(x=>node=x).then(
    node=>node.object.get(HASH)
).then(x=>data=x)

以其他格式提供具有 data.Data 缓冲区的内容,但它不会以相同的方式加载到箭头表中。如何获取与 readFileSync 相同的字节?

解决方法

事实证明,您需要使用 ipfs cat 方法并返回一个异步迭代器,因此需要注意将其放入箭头表中的一小步。

我不确定是否有直接获取的方法。

async function docat() {
    var out = []
    for await (const result of node.cat(has)) {
        out.push(result)
    }
    return out
} 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...