我正在使用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']);
};
您是否在浏览器中运行 js-ipfs 节点?您是否有机会查看 js-ipfs 存储库中示例文件夹中的示例?网址在这里: https://github.com/ipfs/js-ipfs/tree/master/examples
如果您将文件添加到节点并且该节点处于打开状态,则IPFS网关节点将能够从浏览器节点中找到内容。