IPFS 问题:无法上传 ipfs.add(file) 的文件
IPFS issue: can't upload files with ipfs.add(file)
伙计们。
几个月前,我添加了 ipfs 来上传文件,一切正常,但一周前我遇到了问题,无法解决。
我尝试将文件发送到 IPFS 并获取文件的哈希值。
像这样。
连接 ipfs :
ipfs = await Ipfs.create({
config: {
Bootstrap: [
'/dns4/ams-1.bootstrap.libp2p.io/tcp/443/wss/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd',
'/dns4/lon-1.bootstrap.libp2p.io/tcp/443/wss/ipfs/QmSoLMeWqB7YGVLJN3pNLQpmmEk35v6wYtsMGLzSr5QBU3',
'/dns4/sfo-3.bootstrap.libp2p.io/tcp/443/wss/ipfs/QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM',
'/dns4/node0.preload.ipfs.io/tcp/443/wss/ipfs/QmZMxNdpMkewiVZLMRxaNxUeZpDUb34pWjZ1kZvsd16Zic',
'/dns4/node1.preload.ipfs.io/tcp/443/wss/ipfs/Qmbut9Ywz9YEDrz8ySBSgWyJk41Uvm2QJPhwDJzJyGFsD6'
]
}
});
console.timeEnd('IPFS Started');
并尝试发送文件
const {ipfs, ipfsInitError} = useIpfs({commands: ['id']});
const addToIpfs = async (file) => {
const hashOfFile = await ipfs.add(file);
return hashOfFile[0].path;
};
所以,当我尝试上传时,出现错误
Unhandled Rejection (TypeError): undefined is not an object (evaluating ‘hashOfFile[0].path’)
in hashOfFile return function
AsyncGenerator {_invoke: function, next: function, throw: function, return: function, Symbol(Symbol.asyncIterator): function}
``
earlier it was hash of file.
could you help me?
在 GitHub 我有开发人员的答复
Previously ipfs.add returned an array, which was great, unless you
were adding a lot of files in which case your process could run out of
memory. Now it returns an async iterator as you've found. n.b. you
don’t need to do the double await:
// instead of
for await (const inputFile of await ipfs.add({ path: 'randompath.txt', content: file })) {
// do:
for await (const inputFile of ipfs.add({ path: 'randompath.txt', content: file }))
它可以工作,但在 Safari 中仍然存在问题 - 崩溃
Unhandled Rejection (TypeError): null is not an object (evaluating 'ipfs.add')
伙计们。 几个月前,我添加了 ipfs 来上传文件,一切正常,但一周前我遇到了问题,无法解决。 我尝试将文件发送到 IPFS 并获取文件的哈希值。
像这样。 连接 ipfs :
ipfs = await Ipfs.create({
config: {
Bootstrap: [
'/dns4/ams-1.bootstrap.libp2p.io/tcp/443/wss/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd',
'/dns4/lon-1.bootstrap.libp2p.io/tcp/443/wss/ipfs/QmSoLMeWqB7YGVLJN3pNLQpmmEk35v6wYtsMGLzSr5QBU3',
'/dns4/sfo-3.bootstrap.libp2p.io/tcp/443/wss/ipfs/QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM',
'/dns4/node0.preload.ipfs.io/tcp/443/wss/ipfs/QmZMxNdpMkewiVZLMRxaNxUeZpDUb34pWjZ1kZvsd16Zic',
'/dns4/node1.preload.ipfs.io/tcp/443/wss/ipfs/Qmbut9Ywz9YEDrz8ySBSgWyJk41Uvm2QJPhwDJzJyGFsD6'
]
}
});
console.timeEnd('IPFS Started');
并尝试发送文件
const {ipfs, ipfsInitError} = useIpfs({commands: ['id']});
const addToIpfs = async (file) => {
const hashOfFile = await ipfs.add(file);
return hashOfFile[0].path;
};
所以,当我尝试上传时,出现错误
Unhandled Rejection (TypeError): undefined is not an object (evaluating ‘hashOfFile[0].path’)
in hashOfFile return function
AsyncGenerator {_invoke: function, next: function, throw: function, return: function, Symbol(Symbol.asyncIterator): function}
``
earlier it was hash of file.
could you help me?
在 GitHub 我有开发人员的答复
Previously ipfs.add returned an array, which was great, unless you were adding a lot of files in which case your process could run out of memory. Now it returns an async iterator as you've found. n.b. you don’t need to do the double await:
// instead of
for await (const inputFile of await ipfs.add({ path: 'randompath.txt', content: file })) {
// do:
for await (const inputFile of ipfs.add({ path: 'randompath.txt', content: file }))
它可以工作,但在 Safari 中仍然存在问题 - 崩溃
Unhandled Rejection (TypeError): null is not an object (evaluating 'ipfs.add')