2

如您所见,它可以将图像数据从 Lotus 数据库转换为 base64 字符串。问题是我手动输入了图像的文件名(第 4 行)。我的数据库中有很多图像,只有我的“btnbg.jpg”可以读取,其他的则不能。我的代码如何读取数据库列中的所有图像文件名。另外,如何将结果 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();
4

1 回答 1

1

“我的代码如何读取数据库列中的所有图像文件名”

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

如果您更喜欢使用文档,请使用一些方法从文档中获取所有附件,例如文档和 RT 项目上的“EmbeddedObjects”方法。

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

你可以在 css 的帮助下做到这一点: background:url(data:image/jpeg;base64,...

在 css base64 中使用大量图片是个坏主意。

于 2012-12-20T12:37:38.523 回答