1

ファイルを gridfs に書き込むために acorss snippet を作成しましたが、文字列を Gridfs に更新する書き込み方法が見つかりません。

以下のスニペットはパスを使用して更新されますが、直接文字列バッファーはどうですか?

var metadata = {
    "path": path
};
var writestream = gfs.createWriteStream({
    filename: name,
    mode: 'w',
    content_type: type,
    metadata: metadata
});
fs.createReadStream(path).pipe(writestream);
//    var buf = new Buffer("hello");
writestream.on('close', function (file) {
    console.log("Gridfs created");
});
4

3 に答える 3

1

久しぶりなのに。私はこの問題を抱えていて、ファイルではなく文字列からストリームを作成して解決しました。このような:

  var writestream = gfs.createWriteStream({
      filename: fileName
  });

  // Create stream with buffer to pipe to writestream
  var s = new stream.Readable();
  s.push(pic);
  s.push(null); // Push null to end stream
  s.pipe(writestream);

  writestream.on('close', function (file) {
    // Do anything with the file
    cb(null, file.filename);
  }).on('error', cb);

ここからストリームのアイデアを得ました

于 2015-07-28T16:08:10.923 に答える