将富文本项附加到 MIME
Append Rich Text Item to MIME
我有一个基于 XPage 的仅提交表单,它有一个用于存储屏幕截图的 inputRichText 字段和一个用于上传一个或多个附件的多文件上传(使用来自 OpenNTF 的 XPages 多文件上传器)。提交后,我需要将屏幕截图和附件显示在一个富文本字段中,该字段只能通过 Notes 客户端(非 XPages)访问。
目前表单将附件和屏幕截图存储在不同的字段中。我曾尝试在保存时将一个字段附加到另一个字段(在提交按钮中使用 SSJS,但是因为屏幕截图存储为 MIME,附件存储为 NotesRichText,所以我不允许这样做。
是否有某种方法(最好是在 SSJS 中)可以将 MIME 转换为 RichText 或反之亦然,以便我可以将一个字段附加到另一个字段?我试过各种解决方案都无济于事,还尝试了 OpenNTF 的不同文件上传控件。
理想情况下,我需要这样的东西才能工作:
var rtItemAttachments:NotesRichTextItem = docTo_Backend.getFirstItem("attachments"); //This is the field I want everything in
var rtItemFiles:NotesRichTextItem = docTo_Backend.getFirstItem("uploadedFiles");
rtItemAttachments.appendRTItem(rtItemFiles); //Fails on this line
docTo_Backend.removeItem("uploadedFiles");
跟着我说:网络上没有RichText,只有MIME。
您可以设置 RT 字段以将其内容存储在 MIME 中 (a 属性)。这让事情变得容易多了。
要将事物拼接在一起,您需要坚持使用 MIME。大致就是这些步骤
- 获取 MIME 格式的文本和图像
- 将附件作为流获取(embeddedObjects 有一个方法)
- 将流转换为 BASE64 并用它创建一个新的 mime-part。 (查看某人通过 Internet 发送的附件电子邮件来源应该可以很好地了解它的外观)
- 你最终得到:
- Mime 标题
- 文本的 MimePart (HTML)
- 用于屏幕截图的 MimePart(如果它们不是 html 中的内联图像)
- 附件的 MimeParts
特效:如果在HTML中加上附件链接,效果会更好
当然是大问题:为什么?
您可以简单地设计一个具有两个字段的 Notes 表单,无需将其折叠成一个。希望对您有所帮助。
了解 MIME 内容的一段很好的代码是 OpenNTF eMail bean
我有一个基于 XPage 的仅提交表单,它有一个用于存储屏幕截图的 inputRichText 字段和一个用于上传一个或多个附件的多文件上传(使用来自 OpenNTF 的 XPages 多文件上传器)。提交后,我需要将屏幕截图和附件显示在一个富文本字段中,该字段只能通过 Notes 客户端(非 XPages)访问。
目前表单将附件和屏幕截图存储在不同的字段中。我曾尝试在保存时将一个字段附加到另一个字段(在提交按钮中使用 SSJS,但是因为屏幕截图存储为 MIME,附件存储为 NotesRichText,所以我不允许这样做。
是否有某种方法(最好是在 SSJS 中)可以将 MIME 转换为 RichText 或反之亦然,以便我可以将一个字段附加到另一个字段?我试过各种解决方案都无济于事,还尝试了 OpenNTF 的不同文件上传控件。
理想情况下,我需要这样的东西才能工作:
var rtItemAttachments:NotesRichTextItem = docTo_Backend.getFirstItem("attachments"); //This is the field I want everything in
var rtItemFiles:NotesRichTextItem = docTo_Backend.getFirstItem("uploadedFiles");
rtItemAttachments.appendRTItem(rtItemFiles); //Fails on this line
docTo_Backend.removeItem("uploadedFiles");
跟着我说:网络上没有RichText,只有MIME。
您可以设置 RT 字段以将其内容存储在 MIME 中 (a 属性)。这让事情变得容易多了。
要将事物拼接在一起,您需要坚持使用 MIME。大致就是这些步骤
- 获取 MIME 格式的文本和图像
- 将附件作为流获取(embeddedObjects 有一个方法)
- 将流转换为 BASE64 并用它创建一个新的 mime-part。 (查看某人通过 Internet 发送的附件电子邮件来源应该可以很好地了解它的外观)
- 你最终得到:
- Mime 标题
- 文本的 MimePart (HTML)
- 用于屏幕截图的 MimePart(如果它们不是 html 中的内联图像)
- 附件的 MimeParts
特效:如果在HTML中加上附件链接,效果会更好
当然是大问题:为什么? 您可以简单地设计一个具有两个字段的 Notes 表单,无需将其折叠成一个。希望对您有所帮助。
了解 MIME 内容的一段很好的代码是 OpenNTF eMail bean