Comment valider un fichier en cours de validité avec l'extension?
Permet de dire que l'entrée de mon code Java est un fichier jpeg. Comment puis-je vérifier avant de commencer le processus de l'entrée est d'avoir un poste valide. Parfois, l'utilisateur de télécharger un fichier pdf avec l'extension modifiée jpeg, donc le plantage du code.
Il y a un point de nombre magique avec chaque fichier. Mais est-il une alternative pour résoudre ce problème.
.toString().endsWith(SOMETHING)
?- Mais que faire si l'utilisateur m'a donné un ".jpeg fichier" qui est en fait un fichier pdf avec juste un changement au niveau de l'extension.
Vous devez vous connecter pour publier un commentaire.
Le nombre magique de la solution est déjà mise en œuvre: voir cette rubrique pour les liens vers les Java Mime Magie de la Bibliothèque.
Si vous voulez juste pour vérifier la nom de fichier, vous pouvez le faire:
Mais cette méthode pour vérifier que le nom du fichier, pas le contenu. Une information plus complète sur la méthode inclure le nombre magique de test.
Liste des signatures de fichiers ici: http://en.wikipedia.org/wiki/List_of_file_signatures
Vous ne pouvez pas être sûr d'un type de fichiers, à moins que vous complètement analyser le fichier et vérifiez qu'il adhère complètement à la spécification de format. Alors seulement vous pouvez être sûr.
De vérifier que le nombre magique est un moyen rapide de vérifier avec une forte probabilité de deviner le type correctement. Mais, évidemment, ses pas infaillible, il est facile de faire un fichier qui commence par les octets FF FF D8, qui ressemblerait à son format jpeg, mais il n'y a évidemment aucune garantie que c'est vraiment un jpeg.
Ou simplement s'appuyer sur l'extension de fichier.
Vous avez juste à faire un échange entre la fiabilité et la simplicité. Si vous voulez simple, la confiance de l'extension de fichier. Si vous voulez de la sécurité, de vérifier le contenu du fichier.
Vérifier la signature du fichier:
http://www.filesignatures.net/index.php?search=JPEG&mode=EXT
http://en.wikipedia.org/wiki/List_of_file_signatures
Vous pouvez vérifier le type de fichier par la lecture de quelques octets.
Ce qui concerne.
un. Cette fonction ci-dessous la liste de toutes les extension dans le répertoire. Ce que vous pouvez faire est la liste de tous et d'obtenir l'extension de tous les fichiers et permet de vérifier les fichiers qui peuvent être téléchargés. Vous pouvez fournir au client une validation côté sur l'INTERFACE utilisateur uniquement .les fichiers jpeg sont autorisés.
b. Concernant miscrepancies de l'extension, je n'ai pas vécu une telle situation. Peut-être le point spécifié par eltabo peut vous aider.