2016-05-04 7 views
1

Ich mache gerade einen AWS-Aufruf in Node.js. Dieser Aufruf gibt einen Puffer zurück.Erstellen Sie einen neuen Puffer mit einem anderen Puffer in Node.js

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; 
    } 

würde Ich mag einen neuen Puffer zu schaffen, die das Äquivalent wäre, wenn ich verwendet, um die range: param, die aus wird kommentiert. Ich möchte also die Bits 0 - ts.HEADER_SIZE des Puffers, damit ich später nicht drei verschiedene AWS-Aufrufe mit unterschiedlichen Bereichen machen muss.

Ich habe versucht:

var newBuff = new Buffer(data.Body, 0, ts.HEADER_SIZE - 1); 

Aber es scheint nur mir den gleichen Puffer zurück zu geben, ich begann. Irgendwelche Ideen?

Antwort

0

Als erstes müssen Sie einen neuen Puffer der Größe ts.HEADER_SIZE erstellen.

var newBuff = new Buffer(ts.HEADER_SIZE) 

Dann können Sie den Teil des größeren Puffers in diesen neuen Puffer kopieren.

data.Body.copy(newBuff, 0, 0, ts.HEADER_SIZE - 1); 

Der Wert newBuff wird nun die Teilmenge, die Sie wollen.

Verwandte Themen