J'utilise le plugin dropzone.js pour ajouter un programme de téléchargement d'image à mon application. Je sais que c’est probablement une question très élémentaire, alors excuses-moi, mais je veux limiter les extensions de fichier. Cela fonctionne pour une extension de fichier unique,
<script type="text/javascript">
Dropzone.options.dropzone = {
accept: function(file, done) {
console.log(file);
if (file.type != "image/jpeg") {
done("Error! Files of this type are not accepted");
}
else { done(); }
}
}
</script>
Ma question est donc la suivante: comment ajouter plusieurs extensions de fichier, à savoir image/jpeg
, image/png
?
Merci
Vous pouvez ajouter d'autres extensions à votre if
, comme ceci:
if (file.type != "image/jpeg" && file.type != "image/png") {
Cela vérifiera si le type de fichier est différent de TOUS les types que vous spécifiez. Pour qu'un fichier réussisse, il doit être différent de image/jpeg ET image/png
Mettre à jour
Je conseillerais de regarder la réponse d'Enyo puisqu'il est l'auteur de Dropzone.
Je suis l'auteur de Dropzone.
Vous devriez utiliser le acceptedMimeTypes
acceptedFiles
. Cela se comporte exactement comme la propriété input
de l'élément accept
. De cette façon, même le repli fonctionnera correctement.
Les propriétés acceptedFiles
valides peuvent ressembler à ceci:
audio/*
image/*
image/jpeg,image/png
EDIT: dans les dernières versions de Dropzone, cette propriété s'appelle acceptedFiles
et permet de définir des extensions. Donc, cela fonctionnerait:
"audio/*,image/*,.psd,.pdf"
(Pour la compatibilité ascendante, acceptedMimeTypes
fonctionnera toujours jusqu'à la prochaine version majeure)
merci enyo cela a fonctionné ... génial ... il suffit de coller cette ligne dans dropjone.js->
uploadMultiple: true, //upload multiple files
maxFilesize: 1, //1 mb is here the max file upload size constraint
acceptedFiles: ".jpeg,.jpg,.png,.gif",
http://www.dropzonejs.com/#config-acceptedFiles
L'implémentation par défaut d'accepter vérifie le type mime ou l'extension du fichier par rapport à cette liste. Voici une liste de types mime ou d'extensions de fichier séparés par des virgules. Ex .:
'image/*,application/pdf,.psd'
Si la Dropzone est cliquable, cette option sera également utilisée comme paramètre d'acceptation sur l'entrée de fichier caché.
var myDropzone = new Dropzone('div#profile_pictures',{
acceptedFiles: "image/*"; /*is this correct?*/
init: function(){
this.on("success", function(file, data) {
/*..*/
});
}
})
var dz = $("#FileUpload").dropzone({acceptedFiles: ".jpeg"})[0];
Si quelqu'un est intéressé (je ne peux pas commenter le post d'Enyo): J'ai eu des problèmes avec l'application des options de Dropzone et, après avoir enquêté, j'ai remarqué que la version de jQuery jquery-3.2.1.min. js que j'utilisais était la cause de son dysfonctionnement