You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用NFT.storage的storeBlob存储加密字符串时遇TypeError错误求助

解决NFT.storage storeBlob报错:TypeError: source is not async iterable

问题根源

storeBlob方法只接受Blob、File对象,或者AsyncIterable类型的参数,你直接传入加密字符串,不符合参数类型要求,导致底层处理时无法识别为异步可迭代对象,触发该错误。

修复方案

把加密字符串转换成Blob对象后再传入storeBlob,修改后的代码如下:

const client = new NFTStorage({ token: NFT_STORAGE_KEY })
async function storeAsset(metadata) {
  // 将加密字符串转为Blob对象,MIME类型可根据实际数据调整
  const blob = new Blob([metadata], { type: 'text/plain' })
  const cid = await client.storeBlob(blob);
  console.log("Metadata stored on Filecoin and IPFS with cid:", cid)
}

特殊场景补充

如果你的加密字符串是二进制数据的base64编码,需要先解码成字节数组再转Blob:

// 假设metadata是base64格式的加密二进制数据
const decodedBytes = Uint8Array.from(atob(metadata), char => char.charCodeAt(0))
const blob = new Blob([decodedBytes], { type: 'application/octet-stream' })

内容的提问来源于stack exchange,提问作者Devyani Kalamkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 07:20:28