Skip to content Skip to sidebar Skip to footer

How To Read Files From Folder

Found this article which showing how to distinguish file upload from directory How to handle dropped folders but they not explain how I can handle the directory upload. Having diff

Solution 1:

Use DirectoryReaderdirectoryEntry.createReader() , readEntries() for folders or , FileEntryfile() for single or multiple file drops.

html

<div id="dropzone" 
     ondragenter="event.stopPropagation(); event.preventDefault();" 
     ondragover="event.stopPropagation(); event.preventDefault();" 
     ondrop="event.stopPropagation(); event.preventDefault(); handleDrop(event);">
    Drop files
</div>

javascript

functionhandleFiles(file) {
  console.log(file);
  // do stuff with `File` having `type` including `image`if (/image/.test(file.type)) {
    var img = newImage;
    img.onload = function() {
      var figure = document.createElement("figure");
      var figcaption = document.createElement("figcaption");
      figcaption.innerHTML = file.name;
      figure.appendChild(figcaption);
      figure.appendChild(this);
      document.body.appendChild(figure);
      URL.revokeObjectURL(url);
    }
    var url = URL.createObjectURL(file);
    img.src = url;
  } else {
    console.log(file.type)
  }
}

functionhandleDrop(event) {
  var dt = event.dataTransfer;
  var files = dt.files;
  var length = event.dataTransfer.items.length;
  for (var i = 0; i < length; i++) {
    var entry = dt.items[i].webkitGetAsEntry();
    if (entry.isFile) {
      // do whatever you wantconsole.log("isFile", entry.isFile);
      entry.file(handleFiles);
    } elseif (entry.isDirectory) {
      // do whatever you wantconsole.log("isDirectory", entry.isDirectory);
      var reader = entry.createReader();
      reader.readEntries(function(entries) {
        entries.forEach(function(dir, key) {
          dir.file(handleFiles);
        })
      })
    }
  }
}

plnkr http://plnkr.co/edit/eGAnbA?p=preview

Solution 2:

After you drag some file from your disk. This event.dataTransfer.file is your fileList object. Your could create a formData then Add files from fileList to formData one by one.

In the end you could submit formData to server with Ajax

Post a Comment for "How To Read Files From Folder"