我正在尝试使用来自 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'),
谢谢