Comment limiter le nombre de dropzone.js les fichiers téléchargés?
Selon le cas, comment puis-je limiter le nombre de fichiers qui dropzone.js permettra?
Par exemple, je pourrais avoir besoin pour permettre seulement 1, 2, ou 4 fichiers téléchargés.
Ce n'est pas uploadMultiple
. Malheureusement, uploadMultiple
s'applique uniquement au nombre de dossiers traités par demande.
- Utilisation maxFiles. Qui va aider
Vous devez vous connecter pour publier un commentaire.
J'ai réalisé ce une manière légèrement différente. Je viens de supprimer les vieux fichiers supprimés à tout moment un nouveau fichier est ajouté. Il agit à titre d'écraser le fichier qui a été l'expérience de l'utilisateur j'allais pour ici.
this.files
existe là aussi. Cela permettrait de raccourcir un peu le code.undefined
quand il n'y a qu'un seul fichier, de sorte que la condition if retourne toujours true. Peut-être juste un changement deif (this.files[1])
?Nowell a fait remarquer que cette question a été traitée à partir du 6 août, 2013. Un exemple de travail à l'aide de ce formulaire peut être:
Vous pouvez utiliser ce code JavaScript:
La dropzone élément obtient même un style spécial, de sorte que vous pouvez faire des choses comme:
<form class="dropzone" id="myAwesomeDropzone"></form>
?J'ai pensé que le plus intuitif seul fichier, le processus de chargement est à remplacer le fichier précédent sur une nouvelle entrée.
init: function(){ this.on('maxfilesexceeded', function(file){ this.removeAllFiles(); this.addFile(file); }); }
option, même avec l'ajout de l'optionautoProcessQueue: false
.maxFiles: 1
fait le travail, mais si vous souhaitez également supprimer les fichiers supplémentaires vous pouvez utiliser cet exemple de code à partir de la Page Wiki:Comment puis-je limiter le nombre de fichiers?
Solution Alternative qui a très bien fonctionné pour moi:
Vous pouvez limiter le nombre de fichiers téléchargés en remplaçant, dans le dropezone.js
Dropzone.le prototype.defaultOptions = {
maxFiles: 10,
}
il ressemble maxFiles est le paramètre que vous recherchez.
https://github.com/enyo/dropzone/blob/master/src/dropzone.coffee#L667
Pourquoi ne pas simplement utiliser les CSS pour désactiver le clic de l'événement. Lorsque des fichiers max est atteint, Dropzone va automatiquement ajouter une classe de dz-max-fichiers-atteint.
Utiliser les css pour la désactiver, cliquez sur dropzone:
De crédit: ce réponse
Le problème avec les solutions est que vous pouvez seulement de téléchargement 1 fichier jamais. Dans mon cas, j'avais besoin de télécharger 1 seul fichier à la fois (lors d'un clic ou d'abandon).
C'était ma solution..
Espère que cette aide 😉
Je tiens à souligner. peut-être que cela arrive juste à moi, CEPENDANT, quand je l'utilise.removeAllFiles() dans dropzone, il déclenche l'événement COMPLET et ce souffle, ce que j'ai fait était de vérifier si la fileData est vide ou pas si je pouvais envoyer le formulaire.
Vous pouvez également ajouter des rappels - ici, je suis en utilisant Dropzone Angulaire