Maison interface Web js tutoriel Exemple de plug-in jQuery qui limite la taille et le format des fichiers téléchargés_jquery

Exemple de plug-in jQuery qui limite la taille et le format des fichiers téléchargés_jquery

May 16, 2016 pm 04:18 PM
jquery 上传文件 大小 插件 格式 限制

L'exemple de cet article décrit le plug-in jQuery qui limite la taille et le format des fichiers téléchargés. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Lors du téléchargement de fichiers sur le client, il est généralement nécessaire de limiter la taille et le format du fichier. La méthode la plus courante consiste à utiliser un certain plug-in. Certains plug-ins matures ont de belles interfaces et des fonctions puissantes. mais le seul inconvénient est que vous rencontrez parfois des problèmes de compatibilité du navigateur. Dans cet article, nous allons écrire un plug-in jQuery « original » qui permet de limiter la taille et le format des fichiers téléchargés.

Tout d’abord, écrivez un plug-in nommé checkFileTypeAndSize.js. Limitez le format de fichier en jugeant si le nom de suffixe du fichier actuel est inclus dans le tableau de noms de suffixes autorisé par le préréglage en jugeant si la taille du fichier actuel sous IE et d'autres navigateurs est supérieure à la taille de fichier maximale autorisée par le préréglage ; prédéfini, pour limiter la taille du fichier et fournir des fonctions de rappel pour les erreurs de format, le dépassement de la taille limite et le respect des conditions.

Copier le code Le code est le suivant :
(fonction ($) {
$.fn.checkFileTypeAndSize = fonction (options) {
//Paramètres par défaut
      var valeurs par défaut = {
              Extensions autorisées : [],
                 maxSize : 1024, //L'unité est le Ko, la taille maximale par défaut du fichier est de 1 Mo = 1 024 Ko
Succès : function () { },
              erreur d'extension : fonction () { },
erreur de taille : fonction () { }
        };
//Fusionner les paramètres
options = $.extend(valeurs par défaut, options);
//Éléments traversants
          renvoie this.each(function () {
                 $(this).on('change', function () {
//Obtenir le chemin du fichier
              var filePath = $(this).val();
//Chemin du fichier en minuscules
              var fileLowerPath = filePath.toLowerCase();
//Obtenir le nom suffixe du fichier
            var extension = fileLowerPath.substring(fileLowerPath.lastIndexOf('.') 1);
//Déterminez si le nom du suffixe est inclus dans le tableau de noms de suffixes prédéfinis et autorisés
Si ($.inArray(extension, options.allowedExtensions) == -1) {
options.extensionerror();
                            $(this).focus();
                     } autre {
                     essayez {
                       var size = 0;
Si ($.browser.msie) {//ie ancienne version du navigateur
                                                          var fileMgr = new ActiveXObject("Scripting.FileSystemObject");
                                                                                    var fileObj = fileMgr.getFile(filePath);
size = fileObj.size; //octet
taille = taille / 1024;//ko
//taille = taille / 1024;//Mo
                                  } autre {//Autres navigateurs
size = $(this)[0].files[0].size;//byte
taille = taille / 1024;//ko
//taille = taille / 1024;//Mo
                                                                                                          } Si (taille > options.maxSize) {
options.sizeerror();
                            } autre {
options.success();
                                                                                                          }                                  } capture(e) {
alert("Erreur : "e);
                 }
                }
            });
        });
};
})(jQuery);

Faire appel au client devient très simple.


Copier le code Le code est le suivant :<input type="file" name="f" id= "f" />
Scripts de @section
{
<script src="~/Scripts/checkFileTypeAndSize.js"></script>
<script type="text/javascript">
          $(function() {
                 $('#f').checkFileTypeAndSize({
                                                                                                                                                                                                                                                       Extensions autorisées : ['jpg'],
                    taille max : 10,
Succès : function() {
alert('ok');
                 },
erreur d'extension : fonction() {
alert('Le format autorisé est : jpg');
                    revenir ;
                 },
erreur de taille : fonction() {
alert('Taille maximale 10 Ko');
                    revenir ;
                }
            });
        });
</script>
>

J'espère que cet article sera utile à la programmation jQuery de chacun.
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quel est le répertoire d'installation de l'extension du plug-in Chrome ? Quel est le répertoire d'installation de l'extension du plug-in Chrome ? Mar 08, 2024 am 08:55 AM

Quel est le répertoire d'installation de l'extension du plug-in Chrome ?

Comment augmenter la taille du disque dans VirtualBox [Guide] Comment augmenter la taille du disque dans VirtualBox [Guide] Mar 17, 2024 am 10:10 AM

Comment augmenter la taille du disque dans VirtualBox [Guide]

Mar 22, 2024 pm 02:11 PM

Partagez trois solutions expliquant pourquoi le navigateur Edge ne prend pas en charge ce plug-in Partagez trois solutions expliquant pourquoi le navigateur Edge ne prend pas en charge ce plug-in Mar 13, 2024 pm 04:34 PM

Partagez trois solutions expliquant pourquoi le navigateur Edge ne prend pas en charge ce plug-in

Comment utiliser la méthode de requête PUT dans jQuery ? Comment utiliser la méthode de requête PUT dans jQuery ? Feb 28, 2024 pm 03:12 PM

Comment utiliser la méthode de requête PUT dans jQuery ?

Conseils jQuery : modifiez rapidement le texte de toutes les balises a de la page Conseils jQuery : modifiez rapidement le texte de toutes les balises a de la page Feb 28, 2024 pm 09:06 PM

Conseils jQuery : modifiez rapidement le texte de toutes les balises a de la page

Que dois-je faire si la taille maximale des documents que les membres WPS peuvent télécharger dépasse la limite ? Que dois-je faire si la taille maximale des documents que les membres WPS peuvent télécharger dépasse la limite ? Mar 20, 2024 pm 06:40 PM

Que dois-je faire si la taille maximale des documents que les membres WPS peuvent télécharger dépasse la limite ?

Utilisez jQuery pour modifier le contenu textuel de toutes les balises Utilisez jQuery pour modifier le contenu textuel de toutes les balises Feb 28, 2024 pm 05:42 PM

Utilisez jQuery pour modifier le contenu textuel de toutes les balises

See all articles