【问题标题】:copy MIME atachments from document to document将 MIME 附件从一个文档复制到另一个文档
【发布时间】:2012-10-16 05:32:23
【问题描述】:

XPages 应用程序使用“模板”文档,其中包含绑定到 RichText 编辑器和文件上传/下载控件的两个字段。 常规文档最初链接到模板文档,其中一个数据源用于当前文档的公共字段(标题、类别、读者/作者...),第二个数据源显示模板中的只读 RT+附件。

当用户决定更改 RT/附件时,他会取消文档与模板的链接 - 通过将 RT+附件从模板复制到当前文档。

问题:用于 RT 复制(以及附件)的标准 Java sn-p 是:

session.setConvertMime(true);
RichTextItem rti = (RichTextItem)docTemplate.getFirstItem("Body");
rti.copyItemToDocument(docCurrent, "Body");
rti = (RichTextItem)docTemplate.getFirstItem("Files"); <====
rti.copyItemToDocument(docCurrent, "Files");
docCurrent.save(); //saves in RT format, next save via XPage converts to MIME

这始终适用于正文字段(尽管它会稍微改变格式),但它很少适用于附件。 在 Notes 客户端中重新保存模板文档可将 RT 从 MIME 转换为原生 RT 格式,并且代码可以正常运行。

不工作意味着:

  • 异常java.lang.ClassCastException: lotus.domino.local.Item incompatible with lotus.domino.RichTextItem 与箭头对齐。
  • 缺少文件字段(正文已正确创建) 对于某些附件,代码似乎可以工作(文本文件),对于更大的或二进制文件,它会失败(23k .doc、3M .pdf)。

上述称为代理的代码的 LotusScript 替代方案也无济于事。 数据源属性 computeWithForm 不是故意使用的。

问题:在文档之间复制 MIME 附件的正确技术是什么?

【问题讨论】:

标签: xpages mime


【解决方案1】:

最快的方法是使用 Document.copyAllItems(Document doc, boolean replace) 而不是删除不必要的内容。

【讨论】:

    猜你喜欢
    • 2013-02-13
    • 1970-01-01
    • 2023-02-02
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    相关资源
    最近更新 更多