Upload de fichier Struts

Upload de fichier Struts - Java - Programmation

Marsh Posté le 19-09-2010 à 18:28:27    

Bonjour,
Je suis entrain de développer une application web en utilisant Struts. Je suis bloqué sur un écran de téléchargement  de fichier, pouvez-vous m'aider à le résoudre. Merci.
 
Le message d'erreur : transfererFichier, FileNotFoundException, Fichier non trouvé : C:\temp (Accès refusé)
-------------------
 
Code serveur.xml : je stock le chemin du répertoire dans le contexte.
-----------------
 

Code :
  1. <Environment name="fichierImport" override="true" type="java.lang.String" value="C:\temp"/>


 
code de transfert de fichier :  
--------------------------

Code :
  1. public void transfererFichier(FormFile fichierImport) throws FileImportException {
  2.         log.debug("transfererFichier debut" );
  3.         BufferedOutputStream bos;
  4.         try {
  5.             InitialContext ictx = new InitialContext();
  6.             Context myenv = (Context) ictx.lookup("java:comp/env" );
  7.             String fichierTmp = (String) myenv.lookupLink("fichierImport" );
  8.             log.debug("Chemin fichier : " + fichierTmp);
  9.             fichier = new File(fichierTmp);
  10.             log.debug("fichier.getPath() : " + fichier.getPath());
  11.             bos = new BufferedOutputStream(new java.io.FileOutputStream(fichier));
  12.             log.debug("bos.toString() : " + bos.toString());
  13.             byte[] datas = fichierImport.getFileData();
  14.             log.debug("datas.length : " + datas.length);
  15.             if (datas.length == 0) {
  16.                 throw new FileNotFoundException();
  17.             }
  18.             bos.write(datas);
  19.             bos.flush();
  20.             bos.close();
  21.         } catch (FileNotFoundException e) {
  22.             log.error("transfererFichier, FileNotFoundException, "
  23.                     + Constantes.MSG_FICHIER_NON_TROUVE + e.getMessage());
  24.             throw new FileImportException(Constantes.MSG_FICHIER_NON_TROUVE);
  25.         } catch (IOException e) {
  26.             log.error("transfererFichier, IOException, "
  27.                     + Constantes.MSG_PB_ENTREE_SORTIE + e.getMessage());
  28.             throw new FileImportException(
  29.                     Constantes.MSG_PB_ENTREE_SORTIE);
  30.         } catch (NamingException e) {
  31.             log.error("transfererFichier, NamingException, "
  32.                     + Constantes.MSG_PB_ENTREE_SORTIE + e.getMessage());
  33.             throw new FileImportException(
  34.                     Constantes.MSG_PB_ENTREE_SORTIE);
  35.         }
  36.         log.debug("transfererFichier fin" );
  37.     }

Reply

Marsh Posté le 19-09-2010 à 18:28:27   

Reply

Marsh Posté le 19-09-2010 à 19:10:30    

Citation :

Le message d'erreur : transfererFichier, FileNotFoundException, Fichier non trouvé : C:\temp (Accès refusé)


 

Citation :

<Environment name="fichierImport" override="true" type="java.lang.String" value="C:\temp"/>


Choisit un autre répertoire  [:spamafote]

Message cité 1 fois
Message édité par phnatomass le 19-09-2010 à 19:10:54
Reply

Marsh Posté le 19-09-2010 à 19:42:19    

phnatomass a écrit :

Citation :

Le message d'erreur : transfererFichier, FileNotFoundException, Fichier non trouvé : C:\temp (Accès refusé)


 

Citation :

<Environment name="fichierImport" override="true" type="java.lang.String" value="C:\temp"/>


Choisit un autre répertoire  [:spamafote]


 
C'est déjà fait, mais sans succès

Reply

Marsh Posté le 19-09-2010 à 22:15:21    

"c:\temp", c'est un répertoire ? Si oui, ça explique ton erreur, tu essaies de l'ouvrir comme si c'était un fichier, alors qu'il faudrait plutôt créer un fichier temporaire dedans.

Reply

Marsh Posté le 20-09-2010 à 12:52:31    

Riokmij a écrit :

"c:\temp", c'est un répertoire ? Si oui, ça explique ton erreur, tu essaies de l'ouvrir comme si c'était un fichier, alors qu'il faudrait plutôt créer un fichier temporaire dedans.


 
Effectivement c:\temp est un répertoire. Je renseigne le chemin du répertoire dans le contexte pour stocker mes fichiers uploadé. En fait mon objectif est de télécharger des images via le form et les stocker dans mon répertoire c:\temp. Help please

Reply

Marsh Posté le 20-09-2010 à 13:45:33    

Va voir du côté de File.createTempFile() pour créer des fichiers temporaires pour stocker tes uploads.

Reply

Marsh Posté le 20-09-2010 à 19:00:03    

Riokmij a écrit :

Va voir du côté de File.createTempFile() pour créer des fichiers temporaires pour stocker tes uploads.


 ok je vais voir ça merci Riokmij

Reply

Marsh Posté le 20-09-2010 à 19:06:45    

RESOLU


 

figosat a écrit :


 "c:\temp", c'est un répertoire ? Si oui, ça explique ton erreur, tu essaies de l'ouvrir comme si c'était un fichier, alors qu'il faudrait plutôt créer un fichier temporaire dedans.


 
En fait je ne concaténais pas le nom du fichier avec le chemin. Merci encore une fois Riokmij


Message édité par figosat le 20-09-2010 à 19:07:25
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed