Lotus Notes Agent提取Domino文档附件到AIX服务器文件系统报错4005求助
报错原因
EmbeddedObject.ExtractFile方法的入参要求为包含文件名的完整目标文件绝对路径,不支持直接传入目录路径自动沿用附件原名保存。你当前代码传入的/tmp/是目录路径,不符合方法参数规则,因此触发4005错误,该报错与目录权限无关。- 原有代码中
Print "2222行缺少闭合双引号,存在语法问题,需要同步修正。
解决方案
调整代码逻辑,在目录路径后拼接附件本身的名称,生成完整的目标文件路径后再传入ExtractFile方法,修正后可运行代码如下:
Set ritem = ParmDoc.GetFirstItem("AttachedFiles") If ( ritem.Type = RICHTEXT ) Then ForAll o In ritem.EmbeddedObjects Rem 拼接完整路径:目标目录 + 附件原文件名 Call o.ExtractFile("/tmp/" & o.Name) Print "2222" End ForAll End If
如果存在同名附件覆盖风险,可以在文件名前拼接文档UNID、时间戳等唯一标识,示例:
Rem 拼接文档UNID避免重名覆盖 Call o.ExtractFile("/tmp/" & ParmDoc.UniversalID & "_" & o.Name)
内容的提问来源于stack exchange,提问作者ibotsios
相关产品推荐
相关产品推荐

