Bonjour,
l'upload fonctionne trÃs bien (en tout cas une fois programmà et installÃ)

Voilà qques lignes de code qui fonctionnent sur BlueXML :

if ((null != this.getForm().lookupWidget("newupload"))
     &&(null != this.getForm().lookupWidget("newupload").getValue()))     {
  var aPart = this.getForm().lookupWidget("newupload").getValue();
  write(aPart, "C:\tmp\toto");
}

oà write est dÃfini comme ci-dessous (attention à tester l'existence du fichier et lancer une exception au cas oÃ)

function write(part, targetFilename) {
        var srcFile = new java.io.File(part);
        var targetFile = new java.io.File(targetFilename);

        targetFile.getParentFile().mkdirs();
        srcFile.renameTo(targetFile);
        return targetFilename;
}

As-tu utilisà la console de dÃbogage javascript ? Ca te permet de mettre des points d'arrÃt et de suivre l'Ãtat des variables, si elles sont dÃfinies ou pas, ...

Bonn chance :-)

JC

AurÃlien DEHAY a Ãcrit :
Bon.

Je dois avouer que l'upload est un grand mystÃre pour moi dans Cocoon.
J'ai lu pas mal de doc sur le wiki et dans les exemples, mais il n'y a
rien de vraiment concret en fait. J'ai retouchà le flowscript
upload_example.js (celui des exemples), mais Ãa ne fonctionne pas, dans
quel que sens que je tourne le truc.

Je ne cherche pas à faire quelque chose de compliquÃ, mais juste
dÃplacer le fichier uploadÃ.

Voilà ce que je fais:

function upload() {
    importClass(Packages.java.io.File);
    var form = new Form("forms/upload_model.xml");
    var k = form.showForm("upload-display-pipeline");

    k.invalidate();

    var uploadWidget = form.lookupWidget("upload");
    var uploadedFile = uploadWidget.getValue();
    var file = new File(uploadedFile.getHeaders().get("filename"));
    file.renameTo(new File("pika"));
.............
}


J'ai beau mettre ce que je veux dans le "pika", rien, nul part, le fichier reste dans le WEB-INF/work/upload-dir (au moins Ãa, Ãa marche). J'ai lu dans le wiki que certains redÃveloppaient des classes pour faire Ãa (en particulier dans http://wiki.apache.org/cocoon/FileUploadsWithFlow mÃme s'il semble que ce soit obsolÃte pour le >=2.1.6).

La solution serait donc-t-elle d'utiliser les Input/Output Streams pour
faire un renommage/copie de fichier?



--

Jean-Christophe Kermagoret
[EMAIL PROTECTED]



---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:[EMAIL PROTECTED]
Autres commandes : mailto:[EMAIL PROTECTED]



Répondre à