lor1an lor1an - 3 months ago 12
Node.js Question

How to know actual size of byte buffer`s content in nodejs?

I get files as byte buffers and cannot use fs.stat() method.
So I am try to use buf.length but this length refers to the amount of memory allocated for the buffer object and not actually the content size.
For example I have file with with size 22,449 bytes.
buf.length returns for 39804 for it.

Answer

You need byteLength:

var buff = fs.readFileSync(__dirname + '/test.txt');
console.log( buff.byteLength );

For node 0.10.21 you can try this:

console.log( buff.toString().length );