Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 1.60 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4.     <meta charset="UTF-8">
  5.     <title></title>
  6. </head>
  7. <body>
  8.  
  9. <div id="droparea" style="height: 50px; background: #f60;">
  10.     Drop here
  11. </div>
  12.  
  13. <script>
  14.  
  15.     var el = document.getElementById("droparea");
  16.  
  17.     var fn = function (e) {
  18.         e.preventDefault();
  19.         e.dataTransfer.dropEffect = 'copy';
  20.         return false;
  21.     };
  22.  
  23.     el.addEventListener("dragenter", fn, true);
  24.     el.addEventListener("dragover", fn,true);
  25.  
  26.     el.addEventListener("drop", function (e) {
  27.         e.stopPropagation();
  28.         e.preventDefault();
  29.  
  30.         var traverseFileTree = function (item, path) {
  31.             path = path || "";
  32.             if (item.isFile) {
  33.                 // Get file
  34.                 item.file(function(file) {
  35.                     console.log("everything is fine");
  36.                 }.bind(this), function (e) {
  37.                     console.log(e);
  38.                 });
  39.             } else if (item.isDirectory) {
  40.                 // Get folder contents
  41.                 var dirReader = item.createReader();
  42.                 dirReader.readEntries(function(entries) {
  43.                     for (var i=0; i<entries.length; i++) {
  44.                        traverseFileTree(entries[i], path + item.name + "/");
  45.                    }
  46.                });
  47.            }
  48.        };
  49.  
  50.        for (var i=0; i<e.dataTransfer.items.length; i++) {
  51.            var item = e.dataTransfer.items[i].webkitGetAsEntry();
  52.            if (item) {
  53.                traverseFileTree(item);
  54.            }
  55.        }
  56.  
  57.    }, true);
  58.  
  59. </script>
  60.  
  61. </body>
  62. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement