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

Struts 1 Java Discussion :

recuperer le chemin réel d'un fichier


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Points : 29
    Points
    29
    Par défaut recuperer le chemin réel d'un fichier
    Salut tout le monde.

    Voila, j'aimerais recuperer le chemin d'un fichier que que je voudrais inclure ds une base de donnée pour l'associer au client.
    Poue ca j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <html:fil property="theFile" />
    .
    Je recupere ensuite le FormFile ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PersonForm personForm = (PersonForm)form ; FormFile file = personForm.getTheFile();
    Seulement voila, je ne vois pas comment recuperer le chemin du fichier qui a été choisi. Le chemin du fichier pourtant apparait bien quand on clique sur "parcourir"
    La seule methode à disposition du FormFile est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String getFileName = fil.getFileName();
    .Mais ce ne me retoune que le nom du fichier.
    Quelqu'un aurait il une idée ? ca fait 2 jours que je rame sans resultat.
    Note: je ne veux faire ni de upload ni de download
    Merci à tout le monde

  2. #2
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Il me semble que c'est une limitation HTML. le input type="file" fonctionne comme ca.

    Mais mes connaissances en HTML etant limité et ce problème etant réellement très lié au HTML, je te conseille de poser la question dans le forum concerné (les personnes seront plus a même de te répondre : surcharge CSS, VBScript, ???).
    Etre c'est etre relatif.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Points : 29
    Points
    29
    Par défaut
    Merci quand meme

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 61
    Points : 44
    Points
    44
    Par défaut
    J'ai pas bien compris ton problème!!
    Tu veux récupérer juste le chemin absolu d'un fichier? en local ou accès distant? comment ton utilisateur fait entrer son fichier?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Points : 29
    Points
    29
    Par défaut
    Oui, je le recupere en local et l'utilisateur choisi son fichier par le bouton "parcourir" genéré par le Struts-Tag: <html:file property="theFile" />

    Merci

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 61
    Points : 44
    Points
    44
    Par défaut
    Ok, dans ce cas si tu veux juste le chemein de ton fichier - tel qu'il est sur la zone du button parcourir - tu fais un request.getAttribute("theFile").

    Si tu veux, l'exploiter et ton fichier est sur un serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    URL source=new URL(url);
    BufferedReader lecture=new BufferedReader(new InputStreamReader(
    source.openStream()));
     
    String ligne = "";
               try {
                  int i = 0;
                 while ((ligne = lecture.readLine()) != null) {
                      ........
    si, en revanche, tu veux faire une lecture depuis la machine client, tu dois passer par un upload.

    J'espère que ça te débloque

  7. #7
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Points : 29
    Points
    29
    Par défaut
    Merci pour ta réponse youdev:
    J'ai fait ce que tu as dit: request.getAttibute("the file"). mais l'objet que je recupere par la est null.
    voila mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Object file =request.getAttribute("theFile");
    String chemin =file.toString();
    log.debug("File:" +  chemin);
    Voila la réponse:
    en plus j'ai une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ERROR (StandardManager.java:doLoad -> Zeile: 434) - "IOException" lors 
    du chargement 
    des sessions persistantes: 
    java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Caused by: java.io.NotSerializableException: 
    org.apache.commons.fileupload.DeferredFileOutputStream
    au lieu de getAttribute("The file") qui me semblait faux, j'ai mis request.getParameter("the file"). Mais je n'obtiens toujours rien

    pourrais tu m'ecrire le code exacte si ca ne te derande pas trop.
    et merci encore

  8. #8
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Points : 29
    Points
    29
    Par défaut Resolu
    Enfin, j'ai trouvé la solution. il fallait passer par du javascrip. (je reste persuadé qu'il y'a aussi une solution avec Struts).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     <p>
    <INPUT TYPE="file" NAME="file1" SIZE="60" MAXLENGTH="60" onchange='return file1Value(this)'>
    <INPUT TYPE="hidden" NAME="file1name" VALUE="">
     
    <SCRIPT LANGUAGE="JavaScript">
    function file1Value(thisvalue) {
    thisvalue.form.file1name.value = thisvalue.form.file1.value.toString();
     return true;
    }
    </SCRIPT>
    Dans la class Action:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String filePath =request.getParameter("file1name") ;
    Ensuite on peut faire ce qu'on veut, dans mon cas inserer la path dans une base de donnéé.
    Merci à tout ceux qui ont bien voulu m'aider

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recuperation du chemin absolu d'un fichier
    Par seb0634 dans le forum Struts 1
    Réponses: 3
    Dernier message: 14/08/2007, 14h30
  2. recuperer le chemin complet d'un fichier
    Par zurich dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/09/2006, 15h23
  3. rechercher et recuperer le chemin complet d'un fichier
    Par minette dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/08/2006, 14h03
  4. Ouvrir et recuperer plusieurs chemins de fichier
    Par shub dans le forum Access
    Réponses: 3
    Dernier message: 09/02/2006, 14h08

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