【问题标题】:Attaching multiple files through MIMEs to a document in Lotus Domino通过 MIME 将多个文件附加到 Lotus Domino 中的文档
【发布时间】:2012-07-02 22:41:02
【问题描述】:

在我们的企业应用程序中,我们需要将文件附加到文档中。我们在字节数组中有文件名和文件内容。我找到了一种将文件附加到具有 MIME 的文档的解决方案:

    final MIMEEntity body = document.createMIMEEntity(fileName);
    final MIMEHeader bodyHeader = body.createHeader("Content-Disposition");

    final boolean isHeaderValSet = bodyHeader.setHeaderVal("attachment; filename=\"" + fileName + "\"");
    if (!isHeaderValSet) {
        throw new ComponentException("Could not set MIME header value.");
    }

    body.setContentFromBytes(fileContentOutput, mimeType, MIMEEntity.ENC_IDENTITY_BINARY);
    final boolean saveSuccessful = document.save();
    if (!saveSuccessful) {
        throw new Exception("Cannot attach file " + fileName + "to document: " + documentUniversalId);
    }

此方法似乎适用于文件,但当我尝试上传另一个文件时,出现以下异常:

NotesException:项目正文已存在

当您只有文件名和字节数组中的内容时,有没有办法将多个文件附加到文档中?

【问题讨论】:

    标签: java mime-types attachment lotus-notes lotus-domino


    【解决方案1】:

    保留创建名为 body 的“父”MIMEEntity 的第一行。然后在一个循环中,为您希望包含的所有文件创建子 MIMEentities:

    final MIMEEntity child = body.CreateChildEntity;
    child.setHeaderVal("attachment; filename=\"" + fileName + "\"");
    child.createHeader("Content-Disposition");
    child.setContentFromBytes(fileContentOutput, mimeType, MIMEEntity.ENC_IDENTITY_BINARY);
    

    CreateChildEntity

    【讨论】:

    • 这似乎是一个很好的解决方案,但在我应用它之后,我在 document.createMIMEEntity() 方法上遇到了同样的异常。这很奇怪,因为我检查了实体的存在:final Session notesSession = session.getSession(); notesSession.setConvertMIME(false); MIMEEntity body = document.getMIMEEntity(); if (body == null) { body = document.createMIMEEntity(); }
    • 在网上找到了解决办法:codestore.net/store.nsf/unid/BLOG-20120131-0656谢谢解答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 2012-10-12
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多