IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Problème avec URLConnection.guessContentTypeFromStream()


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Par défaut Problème avec URLConnection.guessContentTypeFromStream()
    Salut,

    La fonction URLConnection.guessContentTypeFromStream() me renvoie toujours null, quel que soit le fichier !
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public String getMIMEType(java.io.File pFile) {
    	if (! pFile.exists()) {
    		return null;
    	}
    	else if (pFile.isDirectory()) {
    		return "Directory";
    	}
     
    	try {
    		String typeMIME = java.net.URLConnection.guessContentTypeFromStream(new java.io.FileInputStream(pFile));
    		System.out.println("Type MIME : " + typeMIME);
    		return typeMIME;
    	}
    	catch(java.io.IOException ioe) {
    			return null;
    	}
    }
    Les fichiers existent bien, et je ne rentre pas dans l'exception. A l'affichage j'ai "Type MIME : null".

    Est-ce que j'utilise mal la fonction, ou y a-t-il des conditions d'utilisation ?

    Merci de votre aide !

    PS : c'est le même problème quand j'utilise guessContentTypeFromName()

  2. #2
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Je peux pas tester là mais en tout cas je peux te dire que c'est pas très propre comme tu fais.
    Le FileInputStream doit être fermé dans une clause finally.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Par défaut
    OK, je pensais que la méthode guessContentTypeFromStream() s'occupait de lire et de fermer le flux.

    J'attends avec impatience une solution à ce problème...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Par défaut
    Après plusieurs tests, et en utilisant un BufferedStream, en fait cela renvoit null seulement sur les fichiers video.

    J'espère ne pas être le seul sur Terre à utiliser cette fonction car j'ai besoin de votre aide...

  5. #5
    Invité de passage
    Inscrit en
    Avril 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1
    Par défaut
    La méthode te renvoie null car elle n'est pas capable de déterminer le type MIME du fichier.

    Voici les seuls types MIME que la méthode guessContentTypeFromStream supporte :

    - application/java-vm
    - application/x-java-serialized-object
    - text/html
    - application/xml
    - image/gif
    - image/x-bitmap
    - image/x-pixmap
    - image/png
    - image/jpeg
    - image/jpg
    - image/vnd.fpx
    - audio/basic
    - audio/x-wav

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut
    Je rencontre un problème identique: je suis en train de coder une appli qui affiche des images. Je veux récupérer le MIMEType des fichiers sur lesquels je bosse.
    Malheureusement, impossible de récupérer le MIMEType d'un fichier bmp, ou plutôt, le format bmp ne fait pas partie des formats reconnus par la fonction guessContentTypeFromName (et son pendant FromStream).

    Existe-t-il une façon propre de déterminer le type d'un fichier quand il s'agit d'un bmp (sans passer par l'extension donc) simplement? Je ne voudrais pas avoir à aller piocher dans les octets de l'entête du fichier...

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo