| 1510 | |
| 1511 | |
| 1512 | function _isRegularFile(file, callback){ |
| 1513 | // http://stackoverflow.com/questions/8856628/detecting-folders-directories-in-javascript-filelist-objects |
| 1514 | if( !file.type && (safari || ((file.size % 4096) === 0 && (file.size <= 102400))) ){ |
| 1515 | if( FileReader ){ |
| 1516 | try { |
| 1517 | var reader = new FileReader(); |
| 1518 | |
| 1519 | _one(reader, _readerEvents, function (evt){ |
| 1520 | var isFile = evt.type != 'error'; |
| 1521 | if( isFile ){ |
| 1522 | if ( reader.readyState == null || reader.readyState === reader.LOADING ) { |
| 1523 | reader.abort(); |
| 1524 | } |
| 1525 | callback(isFile); |
| 1526 | } |
| 1527 | else { |
| 1528 | callback(false, reader.error); |
| 1529 | } |
| 1530 | }); |
| 1531 | |
| 1532 | reader.readAsDataURL(file); |
| 1533 | } catch( err ){ |
| 1534 | callback(false, err); |
| 1535 | } |
| 1536 | } |
| 1537 | else { |
| 1538 | callback(null, new Error('FileReader is not supported')); |
| 1539 | } |
| 1540 | } |
| 1541 | else { |
| 1542 | callback(true); |
| 1543 | } |
| 1544 | } |
| 1545 | |
| 1546 | |
| 1547 | function _isEntry(item){ |