2010-03-11 8 views
0

Basically this question except i am using ASP.NET. Comment puis-je prendre un fichier donné et vérifier si elle estComment vérifier un format de fichier?

  • image (tous les formats sauf bitmap incluant Photoshop)
  • archives (7z, rar, zip, etc.). NOTE: Je sais qu'un fichier peut être à la fois une image et un zip. Je peux vérifier si c'est les deux dans le code.
  • son (plus tels que m4a, flac, ogg, mais pas wav)
  • modèle (3ds, X, B3D, etc.)

La solution n'a pas besoin de vérifier tous ces éléments, mais si je Je peux en trouver quelques-uns pour vérifier tout cela, c'est génial.

+0

Cela peut être utile: http://stackoverflow.com/questions/58510/ –

+0

Sous-chaîne sur un nom de fichier donné pour obtenir le type de fichier? – glasnt

Répondre

1

Étant donné la variété de vos types de fichiers, la vérification de l'extension peut être la meilleure option. Quelqu'un a d'autres pensées?

+0

Ceci est un bon premier pas, mais vous devriez vraiment faire un examen plus approfondi, surtout si les fichiers seront téléchargés par n'importe qui sur Internet ... –

+0

oui, je suis totalement d'accord. Le fichier téléchargé peut contenir des virus ou des téléchargements secs. Ce que j'ai fait, c'est que je renommais toujours le fichier avec mes extensions désirées afin d'éviter l'exécution automatique. Mais ce n'est pas loin de détecter le type de fichier. –

2

Vous pouvez soit:

  • trouver la documentation pour le format de fichier et vérifier les octets connus dans l'en-tête de fichier, etc
  • tente de charger le fichier en utilisant une API - si les charges de fichiers avec succès alors vous savez que c'est du bon type.

Par exemple, voici un exemple de la façon de vérifier un fichier image: validate-image-from-file-in-c#

Bien sûr, le type MIME et/ou extension de fichier peut vous donner une bonne estimation de ce format de fichier que vous traitez avec, mais (en fonction de la source) vous ne devriez pas compter dessus exclusivement.