IPFS:base64 编码的图像未显示为图像

时间:2021-04-23 16:45:21

标签: javascript node.js ipfs js-ipfs

我有一个简单的函数尝试对图像进行 base64 编码并将其上传到 IPFS:

async function toIPFS() {
  const node = await IPFS.create()
  const data = fs.readFileSync('./src/assets/logo.png', 'base64').toString('base64')
  const results = await node.add(data)
  console.log(results.cid.string)
}

但是,当我实际检查 the hash 时,它显示为一个长字符串:

iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHB...etc

如何上传图片以使其实际显示为图片?我错过了什么?

我从来没有处理过图像,所以如果这是一个菜鸟问题,请原谅:)

1 个答案:

答案 0 :(得分:1)

您看到返回的是编码为 base64 的文件,如果您想存储图像本身以供以后检索,您可以这样做:

async function toIPFS() {
     const node = await IPFS.create()
     const data = fs.readFileSync('./src/assets/logo.png')
     const results = await node.add(data)
     console.log(results.cid.string)
}
相关问题