Sample code for 30+ languages & platforms
Node.js

File Read Blocks

Demonstrates how to read a file in fixed-size blocks (except for the very last block).

Chilkat Node.js Downloads

Node.js
NODEJS_PRELUDE

function chilkatExample() {

    var success = false;

    //  Demonstrates how to read a file in blocks,
    //  which can be useful when uploading to cloud storage
    //  services such as Azure, S3, Google, etc.

    //  For this example, we're simply writing the blocks
    //  to an output file, and then checking to see if the
    //  resulting file contents equals the original file contents.

    var facSrc = new chilkat.FileAccess();
    var facDest = new chilkat.FileAccess();

    var srcPath = "qa_data/xml/hamlet.xml";
    var destPath = "qa_output/hamletOut.xml";

    success = facSrc.OpenForRead(srcPath);
    success = facDest.OpenForWrite(destPath);
    //  Assuming success for the example..

    //  How many 1024-byte blocks?  (Including 1 for the last partial block)
    var numBlocks = facSrc.GetNumBlocks(1024);

    var i = 0;
    while ((i < numBlocks)) {
        dataBlock = facSrc.ReadBlock(i,1024);
        if (facSrc.LastMethodSuccess !== true) {
            console.log(facSrc.LastErrorText);
            return;
        }

        success = facDest.FileWrite(dataBlock);
        if (success !== true) {
            console.log(facDest.LastErrorText);
            return;
        }

        i = i+1;
    }

    facSrc.FileClose();
    facDest.FileClose();

    var bEqual = facSrc.FileContentsEqual(srcPath,destPath);
    if (bEqual !== true) {
        console.log("Something went wrong!");
        return;
    }

    console.log("File successfully copied by blocks.");

}

chilkatExample();