在XPage上我使用以下代码从文档的MIME实体加载一些文本:
var dcl:NotesDocumentCollection=database.getView("myView").getAllDocumentsByKey("key",true);
var doc:NotesDocument=dcl.getFirstDocument();
var entity:NotesMIMEEntity=doc.getMIMEEntity("data");
var text=entity.getContentAsText();
这没有错误。用 sessionAsSigner.getCurrentDatabase()替换数据库时,会引发错误,指出 MIME实体为空(测试环境=服务器:Notes 8.5 .3 |客户端:Firefox 15)。以下是我手动调试代码时获得的一些其他信息:
但是,使用doc.getMIMEEntity(“data”)会返回null,即使它不为空。对于没有作者和读者字段的文档,甚至会出现问题。为什么使用 sessionAsSigner 允许打开文档并获取项目值,但不允许读取MIME实体?
答案 0 :(得分:1)
要解决此问题,请致电
sessionAsSigner.setConvertMime(false);
在使用sessionAsSigner对象之前。这可以防止在打开文档时将MIME项转换为富文本。否则,NotesDocument.getMIMEEntity将返回null。