我有一个在 localhost 上运行的 ipfs 守护进程。在创建/tmp/afile.txt
. 我无法访问该文件。代码和错误如下。我正在使用https://www.npmjs.com/package/ipfs-api
const fs = require("fs");
let ipfs = require('ipfs-api')({host: "localhost", port: 5001, protocol: "http"});
let fileStream = fs.createReadStream("/tmp/afile.txt");
ipfs.files.add(fileStream, function (err, files) {
ipfs.files.cat(files[0].hash, function (err, file) {
if(err) throw err;
console.log(file);
});
})
输出:
Error: this dag node is a directory
at parseError (/Users/amarshanand/InfoStore/node_modules/ipfs-api/src/utils/send-request.js:16:17)
at ClientRequest.<anonymous> (/Users/amarshanand/InfoStore/node_modules/ipfs-api/src/utils/send-request.js:39:14)
编辑:我通过首先读取文件并从中创建一个缓冲区来使其工作,但不使用 ReadStream。仍在等待答案。
const fs = require("fs");
let ipfs = require('ipfs-api')({host: "localhost", port: 5001, protocol: "http"});
let cont = fs.readFileSync("/tmp/afile.txt");
cont = new Buffer(cont);
ipfs.add(cont, function (err, files) {
if(err) throw err;
ipfs.files.cat(files[0].hash, function (err, file) {
if(err) throw err;
console.log(file.toString());
});
})