我正在运行下面的脚本,并使用ipfs节点通过其散列来上传和获取文件,但是ipfs cat函数只从散列返回文件的路径,而不返回内容。
const node = new Ipfs()
node.once('ready', () => console.log('IPFS node is ready'))
$("#saveIt").click(function(){
var toStore = document.getElementById('fileInput').value
node.files.add(new node.types.Buffer.from(toStore), (err, res) => {
if (err || !res) {
return console.error('ipfs add error', err, res)
}
res.forEach((file) => {
if (file && file.hash) {
var newVar = file.hash
var newVar1 = newVar.slice(0, 23)
var leng = newVar.length
var newVar2 = newVar.slice(24, leng)
console.log(newVar1 + ' ' + newVar2)
mediachain.setUserFile($("#passwordSetter").val(), newVar1, newVar2)
node.files.cat(file.hash, (err, data) => {
if (err) {
return console.error('ipfs cat error', err)
}
document.getElementById('fileDisplayArea').innerText = data
})
} else {
console.error("Error: invalid file")
}
})
})
})有没有人有使用js-ipfs的经验,可以帮我?
发布于 2018-05-25 19:04:04
我在ipfs上也遇到过类似的问题。如果你已经有了哈希,你可以通过这种方式获取内容。
const validCID = 'QmQFPQ5f94byxs7zvHMLJcx5WzThRhN4MfAF4ZisSXofKC'
ipfs.files.get(validCID, function (err, files) {
files.forEach((file) => {
console.log(file.path)
console.log("File content >> ",file.content.toString('utf8'))
})
})https://stackoverflow.com/questions/50263605
复制相似问题