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

API standards et tierces Java Discussion :

Un problème avec le repertoire d'upload


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Par défaut Un problème avec le repertoire d'upload
    Salut tout le monde,

    J'utilse ce code pour upload des fichiers xls sur mon serveur Tomcat5.5,
    l'upload marche très bien mais en fait non pas dans le bon emplacement que je le veux, voila 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
           InputStream stream = p_srcfile.getInputStream();
     
         //----------------------------------------------------------------------
         //Generate a unique end file name, using the current date + time
         //----------------------------------------------------------------------
           String file_end = "";
           Calendar cal = Calendar.getInstance(TimeZone.getDefault());
           java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MM-yy--hh-mm-ss");
           sdf.setTimeZone(TimeZone.getDefault());
           file_end = sdf.format(cal.getTime());
           file_end = "Uploaded_Excel_file" + file_end;
     
           dest_file = p_server_folder + file_end + ".xls";
     
         //--------------------------------------------------------
         //write the file to the file specified (on the server!)
         //--------------------------------------------------------
           System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<< Avant l'ouverture du fichier"+dest_file);
     
           OutputStream bos = new FileOutputStream(dest_file);
           int bytesRead = 0;
           byte[] buffer = new byte[8192];
           while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
             bos.write(buffer, 0, bytesRead);
           }
           bos.close();
           System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<< après l'ouverture du fichier");


    il disait qu'il trouve pas le repertoire destination


    Aidez s'il vous plait

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Et que contient "p_server_folder" (excepté le fait qu'elle ne respecte pas les standards de nommage)?

    Tu devrais logguer le chemin complet dans lequel tu veux écrire, au moins en "DEBUG", pour vérifier le contenu de cette variable et comprendre ce qui ne se passe pas bien.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Par défaut
    Merci pour votre rèponse,
    p_server_folder ="/Files/";
    c-a-d le repertoire ou je vais uploader mes fichiers,
    J'ai cherché sur le net et j'ai trouvé qu'il faut mettre tout le chemin, mais même si je mets : p_server_folder ="http://localhost:8080/Files/"; ça marche pas
    par contre si je mets p_server_folder="C:/Files/"; ça marche très bien, alors que moi je veux qu'il sera telechargé sur Tomcat ???

    Sachant que mon repertoire Files se trouve sur le webcontent


    Merci beaucoup.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Par défaut
    Excusez-moi, j'ai pas encore fini,
    Alors à mon avis le problème c'est de tomcat ou bien de la methode qui ouvre le fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OutputStream bos = new FileOutputStream(dest_file);
    parceque moi j'ai : dest_file="http://localhost:8080/Files/";

    alors que dans l'erreur j'ai eu ça:

    impossible d'ouvrir : http:\localhost:8080\Files\ , donc il manque un Slash "\", non ?


    Merci

  5. #5
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Tu confonds tout: "http://..." c'est une adresse http, alors que pour écrire un fichier via la classe File, il te faut un chemin vers un fichier (local ou réseau). Donc c'est normal que ça ne marche pas.

    Par ailleurs, "/..." dans un chemin indique que le chemin est recherché à partir de la racine de ton disque. Donc encore une fois, l'emplacement où ton fichier est écrit est normal.

    Pour régler ton problème, je te suggère grandement de (re)lire un tutoriel sur l'écriture des fichiers en java (dans la FAQ, par exemple).

    [[EDIT]]

    Je viens de lire ton nouveau message et j'insiste donc: une adresse "http" n'est pas un chemin et ne peut donc pas servir pour écrire un fichier... et aucun "/" ou "\" ne règlera le problème.

    Et encore une fois: avant de te lancer dans le développement sur un serveur Tomcat, tu devrais lire quelques tutoriaux pour apprendre à maîtriser les bases du langage. Sinon, tu risque de rencontrer souvent ce genre de problèmes.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Par défaut
    Merci encore une fois,
    Maintenant l'upload marche très bien sur le C:.
    mais je veux juste savoir quelque chose
    Est ce qu'on peut pas uploader sous un repertoire de tomcat?

    Merci

Discussions similaires

  1. Problème avec le repertoire /var/tmp
    Par joyeux_lapin13 dans le forum Administration et Installation
    Réponses: 3
    Dernier message: 23/02/2012, 12h51
  2. [Liferay] Problème avec un champ d'upload
    Par tirisus dans le forum Portails
    Réponses: 0
    Dernier message: 24/04/2009, 16h41
  3. [Upload] problème avec la durée d'upload
    Par Xann_71 dans le forum Langage
    Réponses: 4
    Dernier message: 01/08/2008, 15h40
  4. [AJAX] ajax et php upload
    Par roduce dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/01/2008, 14h04

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