File tree Expand file tree Collapse file tree 2 files changed +24
-2
lines changed
Expand file tree Collapse file tree 2 files changed +24
-2
lines changed Original file line number Diff line number Diff line change 486486 e . stopPropagation ( ) ;
487487 e . preventDefault ( ) ;
488488 removeClass ( e . currentTarget , 'dragging' ) ;
489+ fileInput . value = '' ;
489490
490- if ( ! e . dataTransfer . files ) {
491+ if ( ! e . dataTransfer || ! e . dataTransfer . files || ! e . dataTransfer . files . length ) {
491492 return ;
492493 }
493494
495+ var items = Array . prototype . slice . call ( e . dataTransfer . items ) ;
496+ if ( items && items . length && items [ 0 ] . webkitGetAsEntry ) {
497+ for ( var i = 0 , len = items . length ; i < len ; i ++ ) {
498+ var entry = items [ i ] . webkitGetAsEntry ( ) ;
499+ if ( entry && entry . isDirectory ) {
500+ return ;
501+ }
502+ }
503+ }
504+
494505 if ( optFile && optActive !== optFile ) {
495506 optFile . focus ( ) ;
496507 optFile . click ( ) ;
497508 }
509+
498510 fileInput . files = e . dataTransfer . files ;
499511 }
500512
Original file line number Diff line number Diff line change @@ -434,9 +434,19 @@ function onDrop(e) {
434434e.stopPropagation();
435435e.preventDefault();
436436removeClass(e.currentTarget, 'dragging');
437- if (!e.dataTransfer.files) {
437+ fileInput.value = '';
438+ if (!e.dataTransfer || !e.dataTransfer.files || !e.dataTransfer.files.length) {
439+ return;
440+ }
441+ var items = Array.prototype.slice.call(e.dataTransfer.items);
442+ if (items && items.length && items[0].webkitGetAsEntry) {
443+ for (var i = 0, len = items.length; i < len; i++) {
444+ var entry = items[i].webkitGetAsEntry();
445+ if (entry && entry.isDirectory) {
438446return;
439447}
448+ }
449+ }
440450if (optFile && optActive !== optFile) {
441451optFile.focus();
442452optFile.click();
You can’t perform that action at this time.
0 commit comments