我正在使用IPFS开展此项目,并且我尝试创建一个网站,允许用户将文件直接从浏览器上传到IPFS。我的目标是该网站将是一个前端网站,但每当我向IPFS添加一个文件时,我检查它在https://gateway.ipfs.io/ipfs/hash-here
上的哈希没有任何反应,这让我觉得文件可能没有得到上传到IPFS,因为我没有在我的本地计算机上运行它。这是对的吗?
const Buffer = require('safe-buffer').Buffer;
export default function uploadFiles(node, files) {
let reader = new FileReader();
reader.onloadend = () => {
let byteData = reader.result.split('base64,')[1];
let fileData = Buffer.from(byteData);
node.files.add(fileData, (err, res) => {
if (err) {
throw err
}
let hash = res[0].hash
console.log(hash); ///////prints a hash that isnt visible on
//gateway
node.files.cat(hash, (err, res) => {
if (err) {
throw err
}
let data = ''
res.on('data', (d) => {
data = data + d
})
res.on('end', () => {
// console.log(data);
// console.log(atob(data));
})
})
});
}
reader.readAsDataURL(files['0']);
};
答案 0 :(得分:1)
您是否在浏览器中运行了js-ipfs节点?您是否有机会查看js-ipfs repo中示例文件夹中的示例?网址:https://github.com/ipfs/js-ipfs/tree/master/examples
如果您向节点添加文件并且节点已启用,则IPFS网关节点将能够从您的浏览器节点中查找内容。