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

Servlets/JSP Java Discussion :

fichiers renameTo conflit


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 83
    Points : 42
    Points
    42
    Par défaut fichiers renameTo conflit
    Bonjour,

    J'utilise une servlet pour sauvegarder des fichiers sur mon serveur. Je doit renomer le fichier uploader par l'utilisateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    File fullFile  = new File(filePathName);  				
    File savedFile =new File(getServletContext().getRealPath("/"),fullFile.getName());								  fileItem.write(savedFile);
    File fullFileNew  = new File(getServletContext().getRealPath("/"), "nouveauNom.jpg");
    boolean resultat = savedFile.renameTo(fullFileNew);
    Le code enregistre le fichier ensuite il le renomme.

    Mais mon problème est donc le suivant:

    deux utilisateurs peuvent m'envoyer deux fichiers avec le même nom. Il y a donc une possibilité de conflit entre le moment d'entregistrement des fichiers et le moment de leur renommage.

    Je pense que pour résoudre le problème est de renommer un fichier avant de le sauvegarder... est-il possible de procéder ainsi ? sinon qq aurait une autre solution?

    J'ai une autre solution qui consiste à faire des sauvegardes dans des répertoires horodatées, mais j'essaye d'éviter cette solution.

    Aidez moi svp !!!!!!

  2. #2
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Points : 139
    Points
    139
    Par défaut
    Regarde peut etre du cote de la classe File, il y a une methode createTempFile. Je l'ai jamais utilise mais peut etre qu'elle genere ue partie aleatoire dans le nom du fichier.

    Sinon tu peux toujours concatener l'identifiant de session au nom du fichier avant l'enregistrement.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 83
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    je vous remercie d'avoir pris la peine de répondre.
    J'ai trouvé une solution assez simple. La voici.

    File savedFile = new File(getServletContext().getRealPath("/"),fullFile.getName().replaceAll(fullFile.getName(),"nouveauNom.jpg"));

    C'est facile à comprendre

    Merci

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/02/2009, 11h52
  2. Conflit de fichiers .htaccess
    Par le-baron dans le forum Apache
    Réponses: 4
    Dernier message: 08/07/2008, 01h03
  3. conflits entre fichiers.
    Par chris67 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/07/2008, 09h33
  4. Deplacer un fichier avec renameTo
    Par AliJava dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 02/01/2008, 19h58
  5. Réponses: 3
    Dernier message: 07/07/2006, 19h00

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