Java 如何修改现有NotesMiemEntity字段

Java 如何修改现有NotesMiemEntity字段,java,xpages,lotus-notes,lotusscript,xpages-ssjs,Java,Xpages,Lotus Notes,Lotusscript,Xpages Ssjs,这不仅是一个XPages问题,也是一个Lotusscript问题 如果您有一个exist Body MIMEEntity字段,并且您想在Lotuscript代码或Java代码中添加附件,那么您怎么做呢? 我有更多的时间没有成功 阅读以便您可以看到,例如,我需要附加来自另一个notes文档(或文件系统相同)的附件 我重新插入示例代码(我需要将附件从另一个RT MIME字段添加到另一个RT MIME字段名Body,但在此代码之后,Body的输出被损坏,仅显示新附件..并丢失原始内容..有人知道原因吗

这不仅是一个XPages问题,也是一个Lotusscript问题

如果您有一个exist Body MIMEEntity字段,并且您想在Lotuscript代码或Java代码中添加附件,那么您怎么做呢? 我有更多的时间没有成功

阅读以便您可以看到,例如,我需要附加来自另一个notes文档(或文件系统相同)的附件

我重新插入示例代码(我需要将附件从另一个RT MIME字段添加到另一个RT MIME字段名Body,但在此代码之后,Body的输出被损坏,仅显示新附件..并丢失原始内容..有人知道原因吗?:

session.setConvertMime(false);
var doc:NotesDocument=document1.getDocument(true);
var mimeRoot:NotesMIMEEntity=doc.getMIMEEntity(“正文”);
var docAttach:NotesDocument=database.getDocumentByUNID('xxxxxxx unid')//doc附件文件MIME或RICHTEXT在哪里
var XSPReply=wrapDocument(docAttach)//在Opentntf.org的Xsnippets中的函数
var listattachs=XSPReply.getAttachmentList(“正文”);

对于(var i=0;imime实体包含一种类型的内容。因此,您不会向现有mime实体添加附件,而是创建同级或子实体。 每个实体都包含一个东西,所以每个附件都需要一个实体

希望这能澄清这一点

更新
我的答案是:你不能在MIME条目中混合内容类型。它只有一种类型,所以编辑MIME条目没有意义,但要创建一个新条目。编辑就是将内容(文本/纯文本或文本/html)读入流,在那里更新并写回。
如果你想添加附件,你需要添加另一个MIME部分。

我对SSJS真的不熟悉(而且我在前几次谷歌点击中找不到语法参考),但这看起来是错误的:

var doc:NotesDocument=document1.getDocument().getMIMEEntity("Body");

您正在调用
getMIMEEntity
,它返回类型
notesimemetity
,但您正在将它分配给名为
doc
var
,我假设
:NotesDocument
表示
doc
具有类型
NotesDocument
。因此当您开始调用
doc.createchild>时ntity
我真的猜不出会发生什么,但我怀疑这会是好事。

Tnx you@stwissel但我知道你解释了……你看到我的代码SSJS包含在previus帖子中了吗?请不要让我们在两篇帖子之间转移注意力。如果问题不同到需要两个单独的问题,那么就不要把它放在这里他将您正在谈论的代码以及当前代码问题的准确描述写入本文。好的,很抱歉@Richard Schwartz,我已经用代码更新了本文。.tnx a lotI concur;示例代码还包括调用
doc.closeMIMEEntities(true,“Body”)
doc.save()
。因此,在代码的前面,它被声明为
NotesDocument
,但被视为MIME实体…然后又被视为文档。因此,在最后三行之前,完全有可能所有内容都正常工作,但看起来好像失败了,因为文档没有正确保存。我很抱歉也没有看到任何
try{}catch{}
blocks…因此,如果出现任何故障,那么最多只能将错误发送到日志,而没有机会在运行时检查错误并决定如何响应。最后一点注意:SSJS中的类型声明主要是为了帮助设计器提供内容辅助。我建议在实际运行代码之前删除它们;相反,请始终使用give使其用途明显的变量名称。例如,如果
doc
是一封电子邮件,则将其称为
email
。我注意到
listaAttachs
是一个附件列表,但您是基于
listaallegati.length
循环的,并且从不声明
listaallegati
。除非该变量在其他地方定义,您的
的将无法正常运行。各位,很抱歉..我已通过更改原始代码来清理我的代码,以便您理解…现在代码是正确的,但问题与我的问题相同…很抱歉代码混淆:-/
var doc:NotesDocument=document1.getDocument().getMIMEEntity("Body");