javascript - 如何从 ipfs-http-client 获取文件内容

标签 javascript typescript uint8array js-ipfs ipfs-cli

我正在使用 ipfs-http-client 从 infura 中读取文件内容,如何使用“cat”功能正确获取字符串/json 格式的数据?

 const client = create({
    url: ipfsUrl(),
    headers: {
      authorization: ipfsAuthPhrase(),
    },
  });
  const cidformat = "f" + cid.substring(2);
  const cidV0 = new CID(cidformat).toV0().toString();
  const resp = await client.cat(cidV0);
  let content = [];
  for await (const chunk of resp) {
    content = [...content, ...chunk];
  }
  console.log(content.toString());

现在我只是在控制台日志中获取一组二进制文件。

最佳答案

从这一点来看,它只是解码 content 缓冲区的问题。

如果内容是一些 JSON:

const raw = Buffer.from(content).toString('utf8')
console.log(JSON.parse(raw))

如果内容是图片:

Buffer.from(content).toString('base64')

关于javascript - 如何从 ipfs-http-client 获取文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70979793/

相关文章:

javascript - 按类别问题的光滑 slider 过滤器

reactjs - react-spring interpolate 函数不适用于 typescript

javascript - Java 将 byte[] 转换为 BigInteger

javascript - 在 Javascript(但不是 Node)中,我如何划分两个 Uint8Arrays?

javascript - 将 Uint8Array 解码为 JSON

javascript - 仅更改主 <li> 标签的类

javascript - 转义我的 HTML 字符

java - 如何将java数组复制到javascript数组?

javascript - 根据其他对象的数组属性对对象数组进行排序的最快方法

reactjs - 为什么 typescript 给出 "Duplicate Identifier"错误