我尝试将文件推送到 IPFS,并且已转换为缓冲区。我收到此错误“ content.once 不是函数”。我在节点中使用这个库。
var Buffer = require('buffer/').Buffer;
const doc = new jsPDF();
doc.fromHTML('test',10,10);
var covnertedBuffer = Buffer.from(doc.output('arraybuffer');
然后,我将 convertBuffer 传递给 IPFS api。
任何想法?
更新测试:
我已使用下面的代码通过 API 成功将文件推送到 IPFS。
const filename = '/home/administrator/Downloads/5HP8LWKHLV.pdf';
this.ipfsApi = ipfsApi('localhost', '5001');
let readablestream = fs.createReadStream(filename);
readablestream.on('readable', () => {
let result = readablestream.read();
console.log(result);
if (result) {
this.ipfsApi.files.add(result, function(err, files) {
if (err) {
res.json('err');
console.log(err);
}
res.json(files);
});
}
});
但是,当我从 doc.output 获取 arrayBuffer 并转换为 Buffer 对象并推送到 IPFS 时,它失败了。请看下文。
var _buffer = Buffer.from(req.buffer);
console.log('Converted to buffer:' + _buffer);
this.ipfsApi = ipfsApi('localhost', '5001');
this.ipfsApi.files.add(_buffer, function(err, files) {
if (!err) {
res.status(500);
console.log(err);
} else {
res.json(files);
res.status(200);
}
});
谢谢