2010-11-04 49 views
1

Je souhaite définir un format de fichier personnalisé que mon application peut reconnaître. Le fichier sera effectivement une archive mais je veux que l'extension du fichier soit différente et aussi avec un type MIME différent. Le contenu de l'archive sera dans une structure spécifique afin que je puisse facilement trouver les entrées.java créer une extension de fichier personnalisée que mon application peut reconnaître

De même, lorsqu'un utilisateur télécharge, je souhaite que le navigateur filtre le répertoire et affiche uniquement les fichiers ayant cette extension.

Quelle est la meilleure approche pour résoudre ce problème.

Répondre

1

Cela dépend principalement de ce que vous entendez par " reconnaître". Par exemple, dans le sens général, vous n'avez pas besoin de faire beaucoup de travail du tout. Si vous définissez quelque chose appelé *.qip qui a la même structure générale qu'un fichier ZIP, tout ce que vous avez à faire est que votre application lise ce fichier comme s'il s'agissait d'un fichier zip standard. Le nom du fichier (et, dans une moindre mesure, le type MIME) n'a aucune incidence sur la façon dont votre application gère le fichier - il le fera exactement comme vous l'avez codé pour le faire. Maintenant, si vous avez codé votre application pour utiliser une bibliothèque tierce pour effectuer cette gestion de fichiers, vous devez consulter les docs de la bibliothèque, car cela varie en fonction de la façon de l'obtenir (si elle est prise en charge à tout). En ce qui concerne le champ de formulaire de téléchargement de fichier, c'est plus compliqué. Théoriquement, vous pouvez spécifier un filtre de type MIME en utilisant l'attribut accept, mais cela est ignoré par tous les principaux navigateurs. À la lumière de cela, je ne pense pas qu'il existe quelque chose que vous pouvez faire côté client pour vérifier cela - mais bon, au moins personne d'autre ne peut le faire non plus. Et vous vérifiez la validité des fichiers sur le serveur, non? :-)

+0

Tx Andrzej. Donc tout ce dont j'ai besoin de m'inquiéter est le traitement côté serveur de l'archive. Mais est-il possible de vérifier l'extension de fichier du téléchargement quand vous le recevez? –

+0

@Farouk: C'est certainement le cas, le nom de fichier est inclus dans les données en plusieurs parties. Gardez à l'esprit que c'est juste un nom ** et ne signifie pas plus que cela, donc cela pourrait être un indice sur la façon de le traiter mais ne devrait pas être tout ce que vous comptez. Par exemple. Comment traiteriez-vous un fichier appelé simplement 'fichier' (qui est un nom parfaitement valide)? –

+0

Tx tellement. Tous mes amis polonais sont si utiles. –

1

Il existe un attribut "accept" de l'étiquette de formulaire, qui peut spécifier des types mime de fichiers acceptés.

Voir amincit article de W3Schools: http://www.w3schools.com/TAGS/att_form_accept.asp

Exemple:

<form action="form_action.asp" accept="image/gif, image/jpeg"> 
    First name: <input type="text" name="fname" /><br /> 
    Last name: <input type="text" name="lname" /><br /> 
    Your image: <input type="file" name="pic" id="pic" /><br /> 
    <input type="submit" value="Submit" /> 
</form> 

(! Ne semble pas être pris en charge par tous les principaux navigateurs bien)

+0

ooh ok .. au moins je peux essayer et faire la bonne chose et faire ma validation sur le côté serveur –