JSFiddle - React, Tailwind, and code Playground

by mr23

HTML

<input type="file" id="myfile" multiple />

JavaScript

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
var fs = null;
document.querySelector('#myfile').onchange = function(e) {
  var files = this.files;
  console.log("myfile changed");    
 window.requestFileSystem(window.PERSISTENT,1024*1024, function(gb) {
       navigator.webkitPersistentStorage.requestQuota (requestedBytes, onInitFs, errorHandler);
}, function(e) {
  console.log('Error', e);
});
    function errorHandler(DOMError) {
        var msg = '';

        switch (DOMError.name) {
            case 'QuotaExceededError':
                msg = 'QuotaExceededError';
                break;
            case 'NotFoundError':
                msg = 'NotFoundError';
                break;
            case 'SecurityError':
                msg = 'SecurityError';
                break;
            case 'InvalidModificationError':
                msg = 'InvalidModificationError';
                break;
            case 'InvalidStateError':
                msg = 'InvalidStateError';
                break;
            default:
                msg = 'Unknown Error';
                break;
        };
        console.log('Error: ' + msg);
    }
function onInitFs(fs) {
    console.log("onInitFS: ");
 for (var i = 0, file; i<files.length && file = files[i]; ++i) {
     console.log("onInitFS: " + i + " " + file);
     (function(f) {
  fs.root.getFile(f.name, {create: true}, function(fileEntry) {

    // Create a FileWriter object for our FileEntry (log.txt).
    fileEntry.createWriter(function(fileWriter) {

      fileWriter.onwriteend = function(e) {
        console.log('Write completed.');
      };

      fileWriter.onerror = function(e) {
        console.log('Write failed: ' + e.toString());
      };

      // Create a new Blob and write it to log.txt.
      var blob = new Blob(['Lorem Ipsum'], {type: 'text/plain'});

      fileWriter.write(blob);

    }, errorHandler);

  }, errorHandler);
})(file);
} // loop
} // onInitFS
}