We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

Création d'un FileDocument depuis un File java

Olivier Dimper · on 5/27/19 at 11:22 AM

Bonjour,

Nous tentons de récupérer un fichier depuis C:/monFichier pour le déplacer vers Jalios en créant un FileDocument qu'on pourrait ranger dans une de nos catégories du site. Pour cela, nous créons un File à partir du chemin d'accès et nous utilisons la méthode FileDocument.getFileDocumentFromFile(monFichier). Cependant, cette méthode renvoie systématiquement un null.

Une idée?

0 pts
Frédéric Touitou · on 5/27/19 at 12:26 PM

Bonjour,

  • La méthode FileDocument.getFileDocumentFromFile() retourne le FileDocument déjà existant, associé au File passé en argument.
  • Dans votre cas, il faudrait plutôt utiliser l'une des signatures de FileDocument.getInstance(), après avoir utilisé FileDocument.getNewDocumentFilename() pour récupérer le chemin du fichier dans /upload, et l'y avoir copié, selon cette séquence (myFile étant bien entendu le fichier - File - d'origine) :
Channel channel = Channel.getChannel();
String newFilename = FileDocument.getNewDocumentFilename(myFile.getName());
File newFile = new File(channel.getRealPath(newFilename));
IOUtil.copyFile(myFile, newFile);
FileDocument newFileDoc = FileDocument.getInstance(newFilename, IOUtil.getQualifiedName(myFile), null, null);
newFileDoc.performCreate(channel.getDefaultAdmin()); // Penser ici à utiliser un "vrai utilisateur" si possible, et à tester le code retour !

Bien cordialement.

1 pt
Olivier Dimper · on 5/27/19 at 3:08 PM

Bonjour,

Effectivement, cela marche bien mieux comme ceci, merci !

0 pts