读取一列中的所有图像,包括base64字符串结果到图像html标记。XPage

读取一列中的所有图像,包括base64字符串结果到图像html标记。XPage,html,database,image,base64,xpages,Html,Database,Image,Base64,Xpages,如您所见,下面的代码可以将lotus数据库中的图像数据转换为base64字符串。问题是我手动输入了图像的文件名(第4行)。我的数据库中有很多图像,只有我的“btnbg.jpg”可以读取,其他的都不能。我的代码如何读取数据库列中的所有图像文件名。另外,如何将result base64字符串包含到html图像标记中。非常感谢你,上帝保佑你 var testView:NotesView = database.getView("uploadforms"); var col:NotesDocume

如您所见,下面的代码可以将lotus数据库中的图像数据转换为base64字符串。问题是我手动输入了图像的文件名(第4行)。我的数据库中有很多图像,只有我的“btnbg.jpg”可以读取,其他的都不能。我的代码如何读取数据库列中的所有图像文件名。另外,如何将result base64字符串包含到html图像标记中。非常感谢你,上帝保佑你

var testView:NotesView = database.getView("uploadforms");
    var col:NotesDocumentCollection = testView.getAllDocumentsByKey("1");
    var testDoc:NotesDocument = col.getFirstDocument();
    var attachment:NotesEmbeddedObject = testDoc.getAttachment("btnbg.jpg");
    var input:java.io.InputStream = attachment.getInputStream();

    var base64Enc = new sun.misc.BASE64Encoder();
    var output = new java.io.ByteArrayOutputStream();
    base64Enc.encode( input, output );

    return output.toString();
“我的代码如何读取数据库列中的所有图像文件名?”

您需要在列中打印附件名称。例如,借助“@AttachmentNames”函数。 您需要使用“ViewNavigator”类来精确地遍历列

如果您更喜欢使用文档,那么可以使用一些方法从文档中获取所有附件,例如对文档和RT项使用“EmbeddedObjects”方法

“如何将结果base64字符串包含到html图像标记中”

您可以在css:background:url(数据:image/jpeg;base64,…)的帮助下完成


在css base64中使用大量图片不是一个好主意。

是否尝试使用@AttachmentNames公式添加列,并通过getColumnValues()方法获取附件名称?实际上,img标记也将数据作为url参数:img src=“data:image/gif;base64,。。。