我是否需要 IPFS 守护进程从浏览器上传文件?

nin*_*alt 5 javascript reactjs ipfs

我正在使用 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']);

};
Run Code Online (Sandbox Code Playgroud)

Dav*_*ias 4

您是否在浏览器中运行 js-ipfs 节点?您有机会查看 js-ipfs 存储库中示例文件夹中的示例吗?网址在这里: https: //github.com/ipfs/js-ipfs/tree/master/examples

如果您将文件添加到节点并且该节点处于开启状态,IPFS 网关节点将能够从您的浏览器节点找到内容。