1

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

1 に答える 1