In my cross-platform app I had the need to get documents from a cloud-sharepoint and store it on the local filesystem via cordova. Here the relevant parts of code that is working for me;
1) Ajax call to get and download the file
$.ajax({
            url:        fileurl,   // full qualified URL to document
            dataType: 'text',
            mimeType: 'text/plain; charset=x-user-defined',
            async:      false,
            cache:      false
            }).done(function(data) {    
                        var data = str2ab(data);
                        writeData(newfile, data);
            }); 
2) Prepare the fetched binary data
 function str2ab(str) {
          var buf = new ArrayBuffer(str.length); // 2 bytes for each char
          var bufView = new Uint8Array(buf);
          for (var i=0, strLen=str.length; i<strLen; i++) {
            bufView[i] = str.charCodeAt(i);
          }
          return buf;
    }
3) Write data to filesystem using cordova plugin. Hint: it is assumed the filesystem "fs" has been initialized before. 
    function writeData(path, data)
    {
        var content, newContent = "";
        var newfile = path ;
        //
        fs.root.getFile(newfile, {create: true, exclusive: false}, 
                function(fileEntry) 
                {
                    fileEntry.createWriter(function(fileWriter) {
                        fileWriter.onwriteend = function(e) {
                            console.log('Write completed: ' + fileEntry.fullPath);                          
                        };
                        fileWriter.onerror = function(e) {
                            console.log('Write failed: ' + e.toString());
                        };
                        fileWriter.write(data);
                  }), 
                  function() {
                            alert("ERROR WRITE FILE");
                  }, 
                  function() {
                      alert("ERROR");
                  }
                }
        );                          
    };