2017-04-25 174 views
0

JavaのNotes文書の添付ファイルのファイル名を取得する最も簡単な方法は何ですか?Notes文書の添付ファイルのファイル名を取得する

私の場合、ドキュメントは常に最大1ファイルを持ち、Bodyというリッチテキストフィールドに格納されています。

+1

はEmbeddedObjectクラスヘルプファイルの外観を持っているし、この上のgetName()を使用します。あなたが必要とするものを正確に行う例があります。 –

答えて

0

は独自のJavaクラスでは、それが動作するはずです、これを試してみてください:

import com.ibm.xsp.model.domino.DominoUtils; 

@SuppressWarnings("unchecked") 
public List<String> getAttachmentsNames(RichTextItem richTextItem) { 
    List<String> attachmentsNames = new ArrayList<String>(); 
    try { 
     Vector v = richTextItem.getEmbeddedObjects(); 
     Enumeration e = v.elements(); 
     while (e.hasMoreElements()) { 
      EmbeddedObject eo = (EmbeddedObject) e.nextElement(); 
      if (eo.getType() == EmbeddedObject.EMBED_ATTACHMENT) attachmentsNames.add(eo.getName()); 
     } 
    } catch (NotesException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    return attachmentsNames; 
} 

@SuppressWarnings("unchecked") 
public List<String> getFileNames(Document document, String richTextFieldName) { 
    List<String> fileNames = new ArrayList<String>(); 
    try { 
     if (document.hasEmbedded()) { 

      Vector<String> docFileNames = DominoUtils.getCurrentSession().evaluate("@AttachmentNames" , document);    
      RichTextItem rtitem = (RichTextItem) document.getFirstItem(richTextFieldName); // Body 


      for (int i = 0; i < docFileNames.size(); i++) { 
       if (!docFileNames.get(i).equals("") && getAttachmentsNames(rtitem).contains(docFileNames.get(i))) { 
        fileNames.add(fileNames.get(i)); 
       } 
      } 

     } 
    } catch (NotesException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    return fileNames; 
} 
関連する問題