0

Joyent の Manta の Node.js SDK を使用して、読み取り可能なストリームからファイルを書き込もうとしています。

ウェブページに記載されている例は次のとおりです。

var MemoryStream = require('memorystream');

var message = 'Hello World'
var opts = {
    copies: 3,
    headers: {
        'access-control-allow-origin': '*',
        'access-control-allow-methods': 'GET'
    },
    md5: crypto.createHash('md5').update(message).digest('base64'),
    size: Buffer.byteLength(message),
    type: 'text/plain'
};
var stream = new MemoryStream();
var w = client.createWriteStream('/jill/stor/hello_world.txt', opts);

stream.pipe(w);

w.once('close', function (res) {
    console.log('all done');
});

stream.end(message);

しかし、これは writeStream を使用して既にファイル/オブジェクト/文字列をプログラムに入れている場合です。次のように、読み取り可能なストリームを渡して書き込みたい場合はどうすればよいでしょうか?

 function saveCopyToManta(cb){
    var stream = fs.createReadStream('/tmp/' + filename);

    var opts = {
        copies: 3,
        headers: {
            'access-control-allow-origin': '*',
            'access-control-allow-methods': 'GET'
        },
        md5: crypto.createHash('md5').update(message).digest('base64'),
        size: filesize,
        type: 'text/plain'
    };

    client.put('/someuser/stor/logs/+filename, stream, opts, function (err) {
      if(err) cb(err);
      else cb();
    });
  };

この行に関して、これを機能させるにはどうすればよいですか:

md5: crypto.createHash('md5').update(message).digest('base64'),

ありがとうございました

4

1 に答える 1