You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Automate中向数组变量追加元素报错的原因排查

Power Automate数组追加附件报错排查及解决

问题场景

在Power Automate中搭建工作流:触发条件为项目创建完成,后续步骤包含获取附件、初始化变量、读取附件内容,目标是把所有附件通过邮件发送给创建者及抄送组,但执行「Append to array variable」操作时持续报错,尝试添加/移除base64相关处理均无效。从报错截图来看,表达式采用了字符串拼接的方式构造数组元素,这是核心问题。

核心原因及解决方法

Power Automate发送邮件时,附件数组的每个元素必须是结构化的JSON对象,而非拼接出来的字符串:

  • 正确的数组元素格式需要包含两个必填键:Name(附件文件名)和ContentBytes(base64编码的附件内容)。
  • 解决步骤:
    1. 确认初始化的变量为数组类型(不是字符串或其他类型)。
    2. 在「Append to array variable」操作中,直接构造对象,无需字符串拼接:
      {
        "Name": @{items('Apply_to_each')?['DisplayName']},
        "ContentBytes": @{body('Get_attachment_content')?['$content']}
      }
      
    3. 注意:Get attachment content返回的$content本身就是base64编码后的内容,不需要额外调用base64()或base64ToString()函数处理,直接引用即可。

额外排查点

  • 检查「Apply to each」的遍历对象是否为「Get attachments」返回的附件列表,避免遍历错误集合导致变量引用异常。
  • 确认邮件发送操作中,附件字段选择的是你初始化并追加元素的数组变量,而非其他值。

内容的提问来源于stack exchange,提问作者Dor. L. V.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 22:32:33