Im essayant de lancer dropzone en ajoutant la classe au formulaire comme ceci:
<form class="dropzone ng-pristine ng-valid dz-clickable" id="photoDropzoneDiv" action="/panel/vehicles/3/photos" accept-charset="UTF-8" method="post">
Maintenant, dropzone fonctionne. Ensuite, j'ai défini dropzone pour ne pas traiter automatiquement la file d'attente:
Dropzone.options.photoDropzone = {
paramName: "file", // The name that will be used to transfer the file
maxFilesize: 5, // MB
autoProcessQueue: false,
parallelUploads: 500,
acceptedFiles: '.jpg,.jpeg,.JPEG,.JPG,.png,.PNG',
addRemoveLinks: true,
init: function(file, done) {
this.on("queuecomplete", function(file) {
this.removeAllFiles();
});
}
};
Maintenant, quand j'appelle le processQueue comme ceci:
photoDropzone.processQueue();
Ça dit Uncaught TypeError: photoDropzone.processQueue is not a function
. Comment puis-je réparer cela?
Dropzone.options.addFiles = {
maxFileSize : 4,
parallelUploads : 10,
uploadMultiple: true,
autoProcessQueue : false,
addRemoveLinks : true,
init: function() {
var submitButton = document.querySelector("#act-on-upload")
myDropzone = this;
submitButton.addEventListener("click", function() {
myDropzone.processQueue();
});
myDropzone.on("addedfile", function(file) {
if (!file.type.match(/image.*/)) {
if(file.type.match(/application.Zip/)){
myDropzone.emit("thumbnail", file, "path/to/img");
} else {
myDropzone.emit("thumbnail", file, "path/to/img");
}
}
});
myDropzone.on("complete", function(file) {
myDropzone.removeFile(file);
});
},
};
Cela a fonctionné ici:)
$('#submit').click(function() {
var myDropzone = Dropzone.forElement(".dropzone");
myDropzone.processQueue();
});