Xpages 可靠地删除MIMEEntity
我有一个文档,我必须在其中创建一个新的MIMEEntity(一个字段),其中填充了二进制内容。 我用 创建它。当然,当我对项目已经存在的现有文档重复此操作时,我会在保存文档时得到一个错误,即项目已经存在 MIMEEntity有一个子实体,所以我的方法是先删除然后再删除该项(这不会起作用,也不能解决我的问题) 我最后删除项目的那一行使服务器崩溃。 当我创建一个“新”项目(用新内容替换旧项目)时,我不知道如何完全删除该项目(MIME)以满足Domino的需要Xpages 可靠地删除MIMEEntity,xpages,lotus-domino,mime,Xpages,Lotus Domino,Mime,我有一个文档,我必须在其中创建一个新的MIMEEntity(一个字段),其中填充了二进制内容。 我用 创建它。当然,当我对项目已经存在的现有文档重复此操作时,我会在保存文档时得到一个错误,即项目已经存在 MIMEEntity有一个子实体,所以我的方法是先删除然后再删除该项(这不会起作用,也不能解决我的问题) 我最后删除项目的那一行使服务器崩溃。 当我创建一个“新”项目(用新内容替换旧项目)时,我不知道如何完全删除该项目(MIME)以满足Domino的需要 如果您能提供最好的实践,我们将不胜感激。
如果您能提供最好的实践,我们将不胜感激。我找到了一种方法,可以安全地移除我的物品:
MIMEEntity mimeE = doc.getMIMEEntity(fieldName);
if (mimeE != null) {
MIMEEntity mime = mimeE.getFirstChildEntity();
if (mime != null) {
mime.remove();
}
} else {
mimeE = doc.createMIMEEntity(fieldName);
}
MIMEEntity mime = mimeE.createChildEntity();
不过,我不确定这是否适用于所有情况
if (mimeE != null) {
MIMEEntity child = mimeE.getFirstChildEntity();
while(child!=null){
MIMEEntity ent = child.getNextEntity();
child.remove();
child.recycle();
child = ent;
}
mimeE.remove();
mimeE.recycle();
doc.removeItem(fieldName);
}
MIMEEntity mimeE = doc.getMIMEEntity(fieldName);
if (mimeE != null) {
MIMEEntity mime = mimeE.getFirstChildEntity();
if (mime != null) {
mime.remove();
}
} else {
mimeE = doc.createMIMEEntity(fieldName);
}
MIMEEntity mime = mimeE.createChildEntity();