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

时间:2017-08-20 12:55:28

标签: 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']);

};

1 个答案:

答案 0 :(得分:1)

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

如果您向节点添加文件并且节点已启用,则IPFS网关节点将能够从您的浏览器节点中查找内容。