簡體   English   中英

使用Node.js中其他Buffer的一部分創建新的Buffer

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM