我正在基于js-ipfs-http-client浏览器示例here进行一些研究和测试。
当我尝试从IPFS获取响应时,我从firefox控制台收到以下警告:
跨域请求被阻止:同源策略不允许读取http://localhost:5001/api/v0/add?wrapWithDirectory=true&progress=true&wrap-with-directory=true&stream-channels=true的远程资源。(原因: CORS头‘Access-Control-Allow-Origin’缺失)。
我已经尝试了推荐的(脏的)修复,您可以从终端更改您的IPFS配置:
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "[\"*\"]"但即使是这样,似乎也行不通。我开始考虑是否可以使用前面提到的here自定义标头
不走运。
我这样设置IPFS : const ipfsClient = require(' ipfs -http-client');var ipfs= ipfsClient('localhost','5001');
然后,一旦我从用户那里获得一些文件,我尝试将其保存到IPFS,如下所示:
function saveToIpfsWithFilename (file)
{
console.log('running save');
let ipfsId;
const fileStream = fileReaderPullStream(file);
const fileDetails =
{
path: file.name,
content: fileStream
};
const options =
{
wrapWithDirectory: true,
progress: (prog) => console.log(`received: ${prog}`)
};
ipfs.add(fileDetails, options).then((response) =>
{
console.log(response)
// CID of wrapping directory is returned last
ipfsId = response[response.length - 1].hash
console.log(ipfsId)
}).catch((err) => {
console.error(err)
});
}发布于 2020-10-03 01:13:16
我也遇到过同样的问题,然后我尝试运行以下命令,这对我来说很有效
ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080
ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "[\"*\"]"
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials "[\"true\"]"希望这能解决你的问题
https://stackoverflow.com/questions/55569973
复制相似问题