Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dropzone.js - maxFiles = 1 does not stop from dragging multiple files

Using Dropzone.js and here's the code. The option "maxFiles = 1" does prevent selecting multiple files when browsing but does not stop from 'dragging' multiple files onto the dropzone area. Any idea how to prevent multiple file on drag?

$(".dropzone").dropzone({
    dictDefaultMessage: "Drag image here",
    uploadMultiple: false,
    parallelUploads: 1,
    clickable: true,
    maxFiles: 1,
    url: 'somewhere' // Provide URL
});
like image 490
trs Avatar asked May 25 '15 11:05

trs


2 Answers

Please add the below code ,

init: function() {
 this.on('addedfile', function(file) {
  if (this.files.length > 1) {
   this.removeFile(this.files[0]);
  }
 });
}
like image 195
Abhijith s.s Avatar answered Nov 07 '22 06:11

Abhijith s.s


Why do not you just use CSS to disable the click event. When max files is reached, Dropzone will automatically add a class of dz-max-files-reached.

Use css to disable click on dropzone:

.dz-max-files-reached {
      pointer-events: none;
      cursor: default;
}

I just tested and this prevents dragging as well.

Credit: this answer

like image 24
Timmy Von Heiss Avatar answered Nov 07 '22 07:11

Timmy Von Heiss