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]
