向IPFS发送文件时遇Basic Auth Header无效及Project ID缺失错误
解决IPFS上传时的Basic Auth Header无效问题
你的代码中Basic Auth Header无效的核心原因是Basic关键字后缺少空格,HTTP标准的Basic认证头格式要求为Basic [base64编码的账号密码串],当前写法将Basic与编码内容直接拼接,导致认证失败。
修正后的代码如下:
const projectId = process.env.PROJECTKEY const projectSecret = process.env.SECRETKEY // 注意Basic后添加空格 const auth = 'Basic ' + Buffer.from(`${projectId}:${projectSecret}`).toString('base64') const client = IPFSHTTPClient({ host: 'infura-ipfs.io', port: 5001, protocol: 'https', headers: { authorization: auth } })
额外验证要点:
- 确认
process.env.PROJECTKEY和process.env.SECRETKEY已正确加载Infura的项目ID与密钥,避免环境变量未读取的情况 - 可单独打印
auth变量,检查开头是否为Basic(带空格),确保格式符合要求
内容的提问来源于stack exchange,提问作者Aditya Kondhare
相关产品推荐
相关产品推荐

