2016-12-16 33 views
2

我有,我必须创建充满二进制内容的新MIMEEntity(场)的文件。 我用可靠地除去一个MIMEEntity

MIMEEntity mimeE = doc.getMIMEEntity(fieldName); 

创建它。当然,当我重复这与现有的文件,其中的项目已经在,我得到的错误,当我保存文档的项目已经存在。

的MIMEEntity有一个孩子的实体,所以我的方法是删除,然后删除项目(这将无法正常工作和一般的解决我的问题)之前;

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); 
     } 

我终于删除该项目本身的行崩溃了服务器。 我不知道如何完全删除该项目(MIME)只是为了满足Domino的需求,当我创建一个“新”的一个/换旧人新的内容)。

此Any最好pratices将不胜感激。

回答

3

我找到了一种方法来安全地删除与该我的货品:

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(); 

不知道这是否会在任何情况下工作,虽然。