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());
});
})