[英]Make new Buffer using portion of other Buffer in Node.js
我目前正在Node.js中进行AWS调用。 该调用返回一个缓冲区。
var aws = new AWS.S3();
var params = {
Bucket: s3config.bucket,
Key: s3config.tile_directory + filepath //,
// Range: 'bytes=0-' + (this.HEADER_SIZE - 1)
};
var ts = this;
aws.getObject(params, function(err, data){
var buff = data.Body;
}
我想创建一个新的Buffer,它等同于我使用了注释掉的range:
param。 所以我想要缓冲区的位0- ts.HEADER_SIZE
,以便我以后不必进行三个不同范围的AWS调用。
我试过了:
var newBuff = new Buffer(data.Body, 0, ts.HEADER_SIZE - 1);
但它似乎只是让我回到我开始使用的缓冲区。 有任何想法吗?
您需要做的第一件事是创建一个大小为ts.HEADER_SIZE
的新缓冲区。
var newBuff = new Buffer(ts.HEADER_SIZE)
然后,您可以将较大缓冲区的一部分复制到此新缓冲区中。
data.Body.copy(newBuff, 0, 0, ts.HEADER_SIZE - 1);
newBuff
的值现在将是您想要的子集。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.