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

NFT市场IPFS数据上传失败:HTTPError及网关不支持问题求助

问题解决:Infura IPFS上传失败+公共网关失效

问题根源

  1. 上传报错「project id required」:Infura IPFS已不再支持未认证的匿名上传,必须使用你的Infura项目ID和密钥进行身份验证。
  2. 公共网关失效:Infura正式停用了https://ipfs.infura.io/ipfs/公共网关,所有旧链接无法再访问,需切换到专用网关或其他IPFS网关。

解决步骤

1. 获取Infura IPFS项目凭证

  • 登录Infura控制台,创建新IPFS项目(或使用已有项目)。
  • 复制项目的Project ID和Project Secret。

2. 初始化IPFS客户端时添加认证

补充/修改你的IPFS客户端初始化代码(原代码未展示此部分):

import { create } from 'ipfs-http-client';

// 替换为你的Project ID和Project Secret
const projectId = 'YOUR_INFURA_PROJECT_ID';
const projectSecret = 'YOUR_INFURA_PROJECT_SECRET';
const auth = 'Basic ' + Buffer.from(projectId + ':' + projectSecret).toString('base64');

const client = create({
  host: 'ipfs.infura.io',
  port: 5001,
  protocol: 'https',
  headers: {
    authorization: auth,
  },
});

3. 替换所有IPFS网关URL

把代码中所有https://ipfs.infura.io/ipfs/替换为你的Infura专用网关,格式为https://${projectId}.ipfs.infura-ipfs.io/ipfs/

修改后的上传函数示例:

async function onChange(e) {
  const file = e.target.files[0];
  try {
    const added = await client.add(file, {
      progress: (prog) => console.log(`received: ${prog}`),
    });
    // 替换为专用网关
    const url = `https://${projectId}.ipfs.infura-ipfs.io/ipfs/${added.path}`;
    setFileUrl(url);
    console.log(fileUrl);
  } catch (error) {
    console.log("Error uploading file: ", error);
  }
}

async function uploadToIPFS() {
  const { name, description, price } = formInput;
  if (!name || !description || !price || !fileUrl) return;
  const data = JSON.stringify({
    name,
    description,
    image: fileUrl,
  });
  try {
    const added = await client.add(data);
    // 替换为专用网关
    const url = `https://${projectId}.ipfs.infura-ipfs.io/ipfs/${added.path}`;
    console.log(url);
    return url;
  } catch (error) {
    console.log("Error uploading file: ", error);
  }
}

4. 测试验证

  • 重新运行代码,尝试上传文件,确认「project id required」错误消失。
  • 访问新生成的IPFS链接,确认能正常返回JSON数据。

内容的提问来源于stack exchange,提问作者Umer Arif

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 02:09:13