将InputStream的内容写入RichTextItem并附加到Java中的Notes文档

我能够将文件附加到我作为InputStream接收的多米诺骨牌文档的RichTextItem 。 以下是代码段:

 attachDocument(InputStream is){ ..... File attFile = saveInputStr(is); Document attdoc = testdb.createDocument(); attDoc.replaceItemValue("Form", "formAttachment"); RichTextItem rti = (RichTextItem) attDoc.getFirstItem("attachment"); rti.embedObject(EmbeddedObject.EMBED_ATTACHMENT, "", attFile .getPath(), attFile .getName()); ..... } 

这很好用。 但是如果我不想将文件写入磁盘怎么办,就像我将它保存到File即上面代码片段中的attFile 。 有没有办法将InputStream的内容写入文件(可能正在使用一些注释文档)并将其附加到保存到磁盘。

我实际上找到了我的问题的解决方案 也许对某人有帮助

 attachDocument(InputStream is){ ..... //File attFile = saveInputStr(is); Document attdoc = testdb.createDocument(); attDoc.replaceItemValue("Form", "formAttachment"); //RichTextItem rti = (RichTextItem) attDoc.getFirstItem("attachment"); //rti.embedObject(EmbeddedObject.EMBED_ATTACHMENT, "", attFile .getPath(), attFile .getName()); attDoc.getFirstItem("attachment"); Stream stream = DominoUtils.getCurrentSession().createStream(); stream.write(IOUtils.toByteArray(is)); MIMEEntity me = attDoc.createMIMEEntity("attachment"); me.setContentFromBytes(stream, "application/pdf", MIMEEntity.ENC_IDENTITY_8BIT); is.close(); attdoc.save(); ..... } 

通过JAVA API(或LotusScript,COM),除了embedObject方法之外,我没有看到使用任何东西添加附件到富文本项的方法。 不幸的是,embedObject方法只接受一个指向要导入的文件位置的字符串。 如果没有传递实际对象的方法,您似乎需要将文件放在磁盘上并将路径传递给该文件。