如何解决如何从 IPFS 读取数据
我使用 Pinata 将 JSON 文件上传到 IPFS。
链接:
https://gateway.pinata.cloud/ipfs/QmXjUdgnkLLKi3fvZjvnyVUQv4kHpgobjPo67FpyqXxPhe
JSON 文件:
{
"attributes" : [ {
"trait_type" : "Breed","value" : "Maltipoo"
},{
"trait_type" : "Eye color","value" : "Mocha"
} ],"description" : "Colorful pots","image" : "https://gateway.pinata.cloud/ipfs/QmTgqf6NY2BtsB24aU6vVmuEBunztua5vxwcCRBqwGjHLm","name" : "Pots"
}
当我调用合同时,我会返回 URL。使用以下代码时如何访问密钥“图像”?
async function showNFT() {
try {
const nft = await nftContract.methods.tokenURI("1").call()
console.log(nft)
// https://gateway.pinata.cloud/ipfs/QmXjUdgnkLLKi3fvZjvnyVUQv4kHpgobjPo67FpyqXxPhe
} catch (err) {
console.log('Error:' + err);
}
}
非常感谢
解决方法
我找到了一个访问 JSON 数据的解决方案,通过使用 fetch() 和 json()。
const nft = await nftContract.methods.tokenURI("1").call()
const response = await fetch(nft);
if(!response.ok)
throw new Error(response.statusText);
const json = await response.json();
console.log(json.image)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。