cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aurélien DEHAY ...@zorel.org>
Subject Re: Problème avec Flowscript et renameTo()
Date Mon, 05 Dec 2005 08:25:55 GMT
Bonjour.

Je colle ici du code qui fonctionne chez moi(c)(r).


function uploadFile() {
     // On récupère le basedir, chemin où déposer le fichier
     var basedir = cocoon.parameters["realPath"] + 
cocoon.parameters["contextPath"] + "static/";
     var urlbase = cocoon.parameters["contextUrl"] + "static/";

     // On instancie et affiche le formulaire
     var form = new Form("backend/upload/form-definition.xml");
     var k = form.showForm("protected-upload-remplir.form");

     // On récupère le modèle et le nom du fichier a uploader
     var model = form.getModel();

     var filename = generateRandomSerial(5);
     if (model.filename == null || model.filename == "") {
         filename = filename + "-" + 
form.lookupWidget("upload").getValue().getHeaders().get("filename");
     } else {
         filename = filename + "-" + model.filename;
     }

     // Chemin complet du fichier a créer
     var uploadedFilename = basedir + filename;

     // Test pour voir si le fichier existe déjà
     if (new java.io.File(uploadedFilename).exists()) {

         // Le fichier existe => page d'erreur
         cocoon.sendPage("protected-upload-file_exists.message", 
{"filename": filename});
     } else {

         // Le fichier n'existe pas, on continue, on vérifie si le
         // champs upload contient bien quelquechose
         if ((null != form.lookupWidget("upload")) && (null != 
form.lookupWidget("upload").getValue())) {
             // On loggue l'upload
             myotisLogger("upload du fichier "+filename);
             // On appelle la fonction de renommage pour mettre le
             // fichier dans le répertoire d'upload
             var aPart = form.lookupWidget("upload").getValue();
             write(aPart, uploadedFilename);

             var bizData = { "completeFilename": urlbase+filename,
                             "filename": filename
             }
             cocoon.sendPage("protected-upload-confirmer.message", bizData);
         }
         // Ici, on devrait peut-être mettre une page d'erreur
     }
}

function write(part, targetFilename) {
     // Code pour renommer (déplacer) le fichier du dépôt temporaire du
     // webapp server au fichier indiqué dans le targetFilename

     // On créé un nouveau fichier contenant l'upload
     var srcFile = new java.io.File(part);

     // On créé un nouveau fichier avec pour nom le path du target
     var targetFile = new java.io.File(targetFilename);

     // On créé l'arborescence au cas où elle n'existe pas
     targetFile.getParentFile().mkdirs();

     // on effectue le renommage
     srcFile.renameTo(targetFile);

     // On retourne le chemin du fichier créé
     return targetFilename;
}

Cdlt.
-- 
Aurélien

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message