cancel
Showing results for 
Search instead for 
Did you mean: 

[Résolu] Récupérer un document

ericc
Champ in-the-making
Champ in-the-making
Bonjour,
j'essaye, en vain, de récupérer un document ajouté à Alfresco (sous la forme d'un File).

Voilà le bout de code sur lequel je travaille :
Map<QName, Serializable> prop = nodeService.getProperties(fileNodeRef);
             String contentUrl = ((ContentData) prop.get(ContentModel.PROP_CONTENT)).getContentUrl();
             
             if (contentUrl != null && contentUrl.length() > 0) {
                ContentReader rawReader = contentService.getRawReader(contentUrl);
                if (rawReader != null) {
                   try{
                      InputStreamResource ipsr = new InputStreamResource(rawReader.getContentInputStream());
                      if (ipsr != null) {
                         //ipsr.getFile();
                         arrayFiles.add(ipsr);
                      }
                   } catch(Exception e) {
                      System.out.println(e);
                   }
                   
                }
             }        

Je récupère bien le RawReader et le InputStreamResource mais quand je tente de faire un ipsr.getFile() ça plante, me disant que le fichier est introuvable. Est ce normal? Ou comment faire pour avoir un File?

Je souhaite ensuite envoyer ce fichier apr mail, donc un  InputStreamResource pourrait me suffir, mais un File me semble plus pratique à utiliser.

Merci.
3 REPLIES 3

rguinot
Confirmed Champ
Confirmed Champ
Je vous suggère de regarder les exemples du SDK qui doivent probablement contenir la solution que vous cherchez.

http://wiki.alfresco.com/wiki/Developer_Guide

rivarola
Champ on-the-rise
Champ on-the-rise
Bonjour,

Il faut utiliser directement la méthode getReader du ContentService :
ContentReader reader = contentService.getReader(fineNodeRef, ContentModel.PROP_CONTENT);

Ensuite tu obtiendras facilement un InputStream (mais pas un File).

ericc
Champ in-the-making
Champ in-the-making
Merci!