Domino Access Services POST提交大字符串时富文本字段为空问题咨询
Domino Access Services 大字符串提交为空问题解决方案
根本原因
Domino Access Services(DAS)默认存在两级请求大小限制,刚好匹配你碰到的100~200KB以上提交失效的场景:
- DAS默认JSON payload最大限制为100KB,超出阈值后服务端会自动截断请求体,导致JSON结构解析异常
- 服务端解析失败后无法识别对应字段的有效值,虽然会返回200状态码,但会清空目标Rich Text字段的内容
你手动录入字段能正常保存是因为走的是Notes原生协议,不受HTTP服务的请求大小限制,所以不会触发该问题。
解决方案
1. 调整Domino服务器配置
修改服务器notes.ini配置文件,新增以下两个参数:
HTTPMaxRequestSize:全局HTTP请求最大大小,单位为KB,如需支持2MB请求可设置为HTTPMaxRequestSize=2048,可按需调整到更大值nrestapi.JSONMaxContentLength:DAS专属的JSON payload最大限制,单位为字节,如需支持2MB内容建议设置为nrestapi.JSONMaxContentLength=2097152,注意要比实际传输内容大30%以上,预留JSON转义字符的开销
配置修改完成后,在Domino控制台执行命令restart task http重启HTTP服务即可生效。
2. 优化Rich Text字段提交格式
大体积内容提交时,不要直接传递字符串,建议明确指定字段的内容类型,避免服务端解析异常:
{ "description": { "type": "text/plain", "data": largeString } }
如果是带格式的富文本内容,将type改为text/html即可。
3. 补充请求头配置
在现有请求头基础上补充Content-Length字段,明确告知服务端请求体的实际大小,避免自动截断:
xhr.setRequestHeader("Content-Length", data.length.toString());
内容的提问来源于stack exchange,提问作者lucas
相关产品推荐
相关产品推荐

