javascript - 使用 Node.js 中其他 Buffer 的一部分创建新的 Buffer

标签 javascript node.js amazon-web-services buffer

我目前正在 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; 
   }

我想创建一个新的缓冲区,它相当于我使用注释掉的 range: 参数。所以我想要缓冲区的位 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 的值现在将是您想要的子集。

关于javascript - 使用 Node.js 中其他 Buffer 的一部分创建新的 Buffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37030941/

相关文章:

ios - 在不配置 Amazon Cognito 的情况下使用 Amazon Mobile Analytics

javascript - 无法动态更改 URL 过滤器 Chrome 扩展

javascript - onchange、onclick 事件在 Internet Explorer 11 中不起作用

javascript - 并行执行多个 promise ,但只从其中一个中检索结果

node.js - Passportjs - 如何在 401 情况下访问状态消息

node.js - Nest.js - 在 mongoose 模式中创建索引

java - 从任意 url 动态加载 jar

amazon-web-services - 配置无服务器框架不上传到S3?

javascript - 在多个查询中使用 document.querySelectorALL 来添加/删除类

javascript - GraphQL 对象属性应该是一个字符串列表