// Get URL of first image file embedded in specific Rich Text field // param: // doc: target notes document // strImgField: rich text field name which contains the embedded image function getAttachmentImageURL(doc:NotesDocument, strImgField:String){ var strRet = ""; try{ var rtItem:NotesRichTextItem = doc.getFirstItem(strImgField); if(rtItem !== null){ var attachmentName = rtItem.getEmbeddedObjects().get(0).getName(); // Get first attachment image var webScheme = facesContext.getExternalContext().getRequest().getScheme(); var webSrvName = facesContext.getExternalContext().getRequest().getServerName(); var webDbName = facesContext.getExternalContext().getRequest().getContextPath(); var url = webScheme+"://"+webSrvName+webDbName+"/xsp/.ibmmodres/domino/OpenAttachment/"+webDbName; strRet = url+'/'+doc.getUniversalID()+'/'+strImgField+'/'+attachmentName; rtItem.recycle(); } }catch(e){ print(e); } return strRet } -------------------------------------------------------------------------------------------------------------------------------------------------- <添付されているフィールドの画像、添付ファイルを直接参照して取得するバージョン> function getAttachmentImageURLTraditonal(doc:NotesDocument, strImgField:String){ var strRet = ""; try{ var rtItem:NotesRichTextItem = doc.getFirstItem(strImgField); if(rtItem != null){ if(rtItem.getEmbeddedObjects() != null && rtItem.getEmbeddedObjects().size() > 0) { var attachmentName = rtItem.getEmbeddedObjects().get(0).getName(); // Get first attachment image var webScheme = facesContext.getExternalContext().getRequest().getScheme(); var webSrvName = facesContext.getExternalContext().getRequest().getServerName(); var webDbName = facesContext.getExternalContext().getRequest().getContextPath(); var url = webScheme+"://"+webSrvName+webDbName; strRet = url+'/'+doc.getUniversalID()+'/$File/'+attachmentName; } rtItem.recycle(); } }catch(e){ print(e); } return strRet }
リッチテキストフィールドに埋め込まれた1つ目の画像(添付ファイル)のURLを取得方法を2つ掲載しています。
下の関数の方が安定稼働します。上の関数で参照している/xsp/.ibmmodres/dominoを含むフォルダーは永続的なファイル格納場所ではないためリンク切れを起こす場合があります。