问题描述
我有一个如下所示的代码,它从浏览器上传文件并保存在服务器中,一旦保存到服务器,我希望服务器连接到 Pinata API,这样文件也可以保存到IPFS 节点。
let data = new FormData();
const fileBuffer = Buffer.from(`./public/files/${fileName}`,'utf-8');
data.append('file',fileBuffer,`${fileName}`);
axios.post('https://api.pinata.cloud/pinning/pinJSONToIPFS',data,{
headers: {
'Content-Type': `multipart/form-data; boundary= ${data._boundary}`,'pinata_api_key': pinataApiKey,'pinata_secret_api_key': pinataSecretApiKey
}
}
).then(function (response) {
console.log("FILE UPLOADED TO IPFS NODE",fileName);
console.log(response);
}).catch(function (error) {
console.log("FILE WASNT UPLOADED TO IPFS NODE",fileName);
console.log(error);
});
我遇到的问题是,在创建文件缓冲区并将其包装在表单数据中后,pinata API 返回错误:
data: {
error: 'This API endpoint requires valid JSON,and a JSON content-type'
}
如果我将数据转换为像 JSON.stringify(data)
这样的字符串并将内容类型更改为 application/json
,文件缓冲区将作为字符串成功上传。
我希望解释清楚以获得解决方案。谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)