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

Développement Web en Java Discussion :

Récupérer le chemin complet de mon image


Sujet :

Développement Web en Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Points : 73
    Points
    73
    Par défaut Récupérer le chemin complet de mon image
    Bonjour
    Je souhaite récupérer le chemin complet de mon image , mais je ne parviens à récupérer que son nom:

    fichier jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <tr><td>fichier:<input type="file" name="filechooser"></td></tr>
    servlet:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    		String fileName = null;
     
    		FileItemFactory factory = new DiskFileItemFactory();
    		ServletFileUpload upload = new ServletFileUpload(factory);
    		List items = null;
    		try {
    			items = upload.parseRequest(request);
    		} catch (FileUploadException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    		//process the uploaded items
    		Iterator<FileItem> iter = items.iterator();
    		while(iter.hasNext())
    		{
    			FileItem item = (FileItem) iter.next();
    			if(!item.isFormField())
    			{
    					fileName = item.getName();
    					System.out.println("le nom du fichier : "+fileName);
    			} 
    		}	
     
     
    		File file = new File(fileName);

    est-ce que quelqu'un a une idée?
    merci d'avance

  2. #2
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 397
    Points
    397
    Par défaut
    Bonjour Phenix.

    Je ne suis pas bien sur de comprendre ton probleme.
    Tu desires obtenir le chemin du fichier directement à partir de la requete http? ou c'est en manipulant la classe fileItem dans la servlet que ca coince?

    Dans le 2° cas essaie un getPath() ou getAbsolutePath()

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Points : 73
    Points
    73
    Par défaut
    Bonjour coshibe
    Je souhaite uploader une image à partir d'une jsp, et ensuite récupérer le chemin complet de l'image uploadée pour pouvoir l'insérer après dans la base de données.

    Est-ce que tu peux me dire comment je peux utiliser le getAbsolutePath() dans mon code

    Merci beaucoup

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Points : 73
    Points
    73
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fileName = item.getName();
    Je ne peux récupérer que le nom du fichier
    est-ce qu'il y a un moyen de récupérer son chemin complet?

  5. #5
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 397
    Points
    397
    Par défaut
    Je n'ai jamais utilisé la classe FileItem donc n'hésite pas à m'en dire plus parce que je n'en ai pas trouvé trace dans ma javaDoc.

    Mais je pense que si elle etend une classe de base, elle doit accepter quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FileItem item = (FileItem) iter.next();
    String path = item.getAbsolutePath() // ou item.getPath()
    et ainsi tu auras dans path le chemin vers le fichier uploadé

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Points : 73
    Points
    73
    Par défaut
    J'ai essayé cela mais ça ne marche pas
    le getAbsolutePath/getPath... n'est pas reconnu !!

  7. #7
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 397
    Points
    397
    Par défaut
    Peux tu m'en dire plus a propos de la classe FileItem? est ce toi qui l'a créée? as tu son code source peut etre?

  8. #8
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Points : 73
    Points
    73
    Par défaut
    voici sa classe:

    org.apache.commons.fileupload.FileItem

  9. #9
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Points : 73
    Points
    73
    Par défaut
    J'ai essayé cela mais ça me renvoie l'url de tomcat!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    File f1 = new File(item);
    f1.getAbsolutePath());

  10. #10
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 397
    Points
    397
    Par défaut
    Donc pour revenir à nos moutons :

    Quand tu télécharges tes petits agneaux sur le serveur, si tu veux savoir ou ils ont trainé leur cote avant d'arriver sur le serveur il faut que tu manipules des classes plus classiques pour cela je te conseille de reprendre l'exemple de la FAQ : SERVLET_GENERALITES#APPLET_SERVLET_UPLOAD_FICHIER

    Ainsi pour uploader tu vas utiliser :

    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
    URL urlservlet = new URL("http://localhost:8080/imed/ImageMapServlet");
    HttpURLConnection connExtension = (HttpURLConnection)urlservlet.openConnection();
     
    FileInputStream in = new FileInputStream(image); //image est le fichier de classe File que tu upload
    String pathName = image.getPath(); // te donnera le chemin du fichier tel que tu le veux.
    in.read(tableauImage); 
    in.close();
     
    HttpURLConnection connImage = (HttpURLConnection)urlservlet.openConnection();
    connImage.setDoInput(true);
    connImage.setDoOutput(true);
    connImage.setUseCaches(false);
    connImage.setRequestProperty("Content-Type","application/octet-stream");
    DataOutputStream out = new DataOutputStream(connImage.getOutputStream());
    out.write(tableauImage, 0, tableauImage.length);
    out.flush(); 
    out.close();

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/05/2017, 10h01
  2. récupérer le chemin complet d'un fichier
    Par Mounr dans le forum Langage
    Réponses: 1
    Dernier message: 02/03/2007, 14h20
  3. Réponses: 3
    Dernier message: 03/10/2006, 13h02
  4. Réponses: 13
    Dernier message: 10/04/2006, 17h25
  5. Récupérer le chemin complet de l'appli
    Par alainpeniche dans le forum Windows
    Réponses: 3
    Dernier message: 10/08/2005, 14h03

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