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

How to get file contents from ipfs-http-client

我正在使用 ipfs-http-client 读取 infura 文件的内容,如何使用“cat”功能正确获取 string/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')