我的任务是更新遗留的Notes应用程序 - 我宁愿做其他任何事情,但这就是生活。根据{{3}},如果数据格式为
,我应该能够更新富文本字段FieldName: { contentType: 'text/html', data: newData, type: 'richtext' }
(当然,序列化为JSON)
但是会发生的情况是原始RT字段被三个MIME部分字段(具有相同的名称,包含您期望的,"Content-Type: multipart/mixed"
,"boundary"
等)替换,并"newData"
存储在$FILE
附件中。此外,还有一些特定于MIME的字段会添加到文档中($MIMETrack
,$NoteHasNativeMIME
,MIME_Version
)。
现在这肯定不是Notes文档第一次与实际功能不匹配,但我想知道是否有人能够成功地做到这一点?或者,通过AJAX更新RT字段的任何其他方式(最好使用HTTP PATCH)?
编辑:经过进一步检查,这似乎是一个配置问题。我尝试从带有RT字段的文档中进行GET(包含文本"测试rt字段",通过常规Web表单提交),预期结果将根据API
"FieldName": {
"contentType":"text/html",
"data":"testing rt field",
"type":"richtext"
}
但是返回的是
"FieldName": {
"type":"multipart",
"content": [
{
"contentType":"multipart\/alternative; Boundary=\"0__=4DBB0A82DFA47A268f9e8a93df938690918c4DBB0A82DFA47A26\"",
"contentDisposition":"inline"
},
{
"contentType":"text\/plain; charset=US-ASCII",
"data":"testing rt field",
"boundary":"--0__=4DBB0A82DFA47A268f9e8a93df938690918c4DBB0A82DFA47A26"
},
{
"contentType":"text\/html; charset=US-ASCII",
"contentDisposition":"inline",
"data":"<html><body><font size=\"2\" face=\"sans-serif\">testing rt field<\/font><\/body><\/html>",
"boundary":"--0__=4DBB0A82DFA47A268f9e8a93df938690918c4DBB0A82DFA47A26"
}
]
}
(抱歉格式化)
所以我猜测我们的Domino配置存在问题。在哪里,我不知道,任何提示将不胜感激。
答案 0 :(得分:1)
在Domino 8.5.3 UP1中,数据服务将富文本字段表示为一个HTML部分(the 8.5.3 doc中所述的"type": "richtext"
)。这有一些严重的局限性。例如,您无法创建包含嵌入图像和附件的富文本字段。
自Domino 9.0以来,数据服务将富文本字段表示为多个部分(the 9.0.1 doc中所述的"type": "multipart"
)。但是,您仍然可以PUT和POST旧的富文本格式,并且可以通过在URL中指定multipart=false
来获取旧格式。换句话说,原始海报似乎正在使用Domino 9.0,它正在按预期工作。