在我们的企业应用程序中,我们需要将文件附加到文档中。我们将文件名和文件内容放在一个字节数组中。我找到了一种使用 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);
}
此方法似乎适用于文件,但是当我尝试上传另一个文件时,出现以下异常:
注释异常:项目正文已存在
当您只有文件名和字节数组中的内容时,有没有办法将多个文件附加到文档中?
保留创建
名为 body 的"父"MIMEEntity 的第一行。 然后在循环中,为要包含的所有文件创建子 MIME 实体:
final MIMEEntity child = body.CreateChildEntity;
child.setHeaderVal("attachment; filename="" + fileName + """);
child.createHeader("Content-Disposition");
child.setContentFromBytes(fileContentOutput, mimeType, MIMEEntity.ENC_IDENTITY_BINARY);
创建子实体