リッチテキストフィールドに埋め込まれた1つ目の画像(添付ファイル)のURLを取得

// 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
}





xpages, 埋め込み画像, リッチテキスト


リッチテキストフィールドに埋め込まれた1つ目の画像(添付ファイル)のURLを取得方法を2つ掲載しています。

下の関数の方が安定稼働します。上の関数で参照している/xsp/.ibmmodres/dominoを含むフォルダーは永続的なファイル格納場所ではないためリンク切れを起こす場合があります。


JavaScript (Server)
kazut
August 21, 2015 at 6:00 PM
Rating
0





No comments yetLogin first to comment...