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

使用web3.storage上传文件时遇TypeError: source is not iterable问题求助

排查web3.storage上传失败问题的实操步骤

1. 对齐依赖版本

旧环境代码正常运行,核心差异大概率在依赖版本。

  • 在旧电脑项目根目录执行:npm list 或 yarn list,导出完整依赖版本列表
  • 把旧电脑的package-lock.json或yarn.lock复制到新电脑项目中,执行npm install或yarn install,强制同步依赖版本

2. 验证web3.storage配置有效性

  • 检查新电脑项目的环境变量文件(如.env),确认WEB3_STORAGE_TOKEN和旧电脑完全一致
  • 在新电脑终端运行以下测试代码(替换你的密钥),验证API密钥是否可用:
    import { Web3Storage } from 'web3.storage'
    const token = '你的web3.storage API密钥'
    const storage = new Web3Storage({ token })
    
    ;(async () => {
      try {
        const info = await storage.getInfo()
        console.log('API密钥验证通过:', info)
      } catch (err) {
        console.error('API密钥无效或网络异常:', err)
      }
    })()
    

3. 排查网络与权限问题

  • 确认新电脑可正常访问web3.storage服务,直接访问官网测试连通性
  • 暂时关闭防火墙、代理类软件,重试上传操作
  • 检查项目目录及待上传文件的读写权限,确保代码能正常读取文件

4. 捕获完整错误信息

截图提示不够明确,给上传代码添加详细错误捕获:

async function uploadToWeb3Storage(file) {
  const storage = new Web3Storage({ token: process.env.WEB3_STORAGE_TOKEN })
  try {
    const cid = await storage.put([file])
    console.log('上传成功,CID:', cid)
  } catch (err) {
    console.error('上传失败完整信息:', err.message, '\n', err.stack)
  }
}

运行后查看终端或浏览器控制台的完整报错,精准定位问题

5. 测试React版本兼容性

新版本React可能存在API变更,对比旧电脑的React版本,尝试逐步降级React版本,排查是否存在版本兼容问题


内容的提问来源于stack exchange,提问作者Abdul Haq

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:20:32