我们可以使用JS-ipfs工具包来实现IPFS URI格式的相互转换。具体代码如下所示:
const ipfs = require('ipfs-core')
const all = require('it-all')
// 将CID转换为ipfs://格式
async function cidToIPFS(cid) {
const node = await ipfs.create()
const files = await all(node.cat(cid))
await node.stop()
return ipfs://${cid.toString()}
}
// 将ipfs://格式转换为https://ipfs.io/ipfs/格式
async function ipfsToHttps(ipfsUri) {
const ipfsMatch = ipfsUri.match(/ipfs://(.+)/)
const cid = ipfsMatch[1]
return https://ipfs.io/ipfs/${cid}
}
// 使用示例
async function main() {
const cid = 'QmZo3NwWykQ1G9oeYMzP1WhdixX3f8LbHdxQ7srV8XBZfJ'
const ipfsUri = await cidToIPFS(cid)
console.log(转换前CID:${cid}
)
console.log(转换后ipfs://格式:${ipfsUri}
)
const httpsUri = await ipfsToHttps(ipfsUri)
console.log(转换后https://ipfs.io/ipfs/格式:${httpsUri}
)
}
main()