Skip to content

Commit baa0acd

Browse files
committed
fix: don't upload folders
1 parent f6cb485 commit baa0acd

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

src/resumable.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@
451451
each(fileList, function (file) {
452452
// Directories have size `0` and name `.`
453453
// Ignore already added files
454-
if (!(!file.size && (file.name === '.' || file.fileName === '.')) &&
454+
if (!(file.size % 4096 === 0 && (file.name === '.' || file.fileName === '.')) &&
455455
!this.getFromUniqueIdentifier(this.generateUniqueIdentifier(file))) {
456456
var f = new ResumableFile(this, file);
457457
if (this.fire('fileAdded', f, event)) {

test/uploadSpec.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,4 +335,23 @@ describe('upload file', function() {
335335
expect(file.isUploading()).toBe(false);
336336
expect(file.isComplete()).toBe(true);
337337
});
338+
339+
it('should not upload folder', function () {
340+
// http://stackoverflow.com/questions/8856628/detecting-folders-directories-in-javascript-filelist-objects
341+
resumable.addFile({
342+
name: '.',
343+
size: 0
344+
});
345+
expect(resumable.files.length).toBe(0);
346+
resumable.addFile({
347+
name: '.',
348+
size: 4096
349+
});
350+
expect(resumable.files.length).toBe(0);
351+
resumable.addFile({
352+
name: '.',
353+
size: 4096 * 2
354+
});
355+
expect(resumable.files.length).toBe(0);
356+
});
338357
});

0 commit comments

Comments
 (0)