valider asp contrôle fileupload côté client
j'ai un asp contrôle fileupload sur ma page. comment valider le fichier sélectionné sur le côté client.
les règles de validation:
1. le fichier doit être en format jpeg,png,bmp ou gif.
2. la taille du fichier doit être dans les 25 ko et 2 mo.
s'il vous plaît aider.
merci.
J'Ai Essayé Le Code Suivant pour valider l'extension
<asp:FileUpload ID="FileUpload2" runat="server"/>
<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="ValidateFileUpload" ErrorMessage="Invalid file type. Only .gif, .jpg, .png, .bmp and .jpeg are allowed." ControlToValidate="FileUpload2" ValidationGroup="update"> </asp:CustomValidator>
<script language="javascript" type="text/javascript">
function ValidateFileUpload(Source, args) {
var fuData = document.getElementById('<%= fuData.ClientID %>');
var FileUploadPath = fuData.value;
if (FileUploadPath == '') {
//There is no file selected
args.IsValid = false;
}
else {
var Extension = FileUploadPath.substring(FileUploadPath.lastIndexOf('.') + 1).toLowerCase();
if (Extension == "jpg" || Extension == "jpeg" || Extension == "png" || Extension == "gif" || Extension == "bmp") {
args.IsValid = true; //Valid file type
}
else {
args.IsValid = false; //Not valid file type
}
}
}
</script>
- J'ai édité mon post avec mon code. veuillez visiter.
- Pour le type de fichier de validation, veuillez voir le lien : aspsnippets.com/Articles/...
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas déterminer la taille du fichier sélectionné dans le fichier de l'élément d'entrée via un script côté client. Afin de déterminer la taille du fichier, on doit avoir accès en lecture au fichier. Comme vous pouvez l'imaginer, JavaScript permettant de lire des fichiers sur votre ordinateur serait une "très mauvaise idée."™
Je vois souvent ce genre de question, et de croire qu'il existe une certaine confusion sur ce que le fichier d'entrée de l'élément de la réalité. Lorsque l'utilisateur sélectionne un fichier, le fichier d'octets ne sont pas "chargé" dans cet élément, tels qu'ils sont disponibles pour la lecture. Plutôt, l'entrée spécifie un référence à l'emplacement du fichier de sorte que le navigateur sait - lorsque le formulaire est affiché à encoder le fichier et l'envoyer à la POSTE. Ce processus est interne au navigateur, et n'est pas exposé au client d'une manière qu'il peut être influencé par de script.
Si vous avez besoin de faire la taille du fichier de vérification, vous devez le faire sur le serveur où vous avez accès à ce fichier en octets. Si vous êtes concernés par les gens "inondations" de votre site avec des fichiers très volumineux, vous pouvez spécifier le nombre maximal admissible de POSTE de la taille par la configuration de votre instance IIS.
Vous pouvez essayer ajax control tool kit. Il dispose de son propre contrôle de téléchargement de fichiers. Elle est beaucoup plus cool
Dans la plupart des navigateurs utilisés de nos jours, vous pouvez faire la validation côté client sur taille du fichier:
https://stackoverflow.com/a/1832497/2705769