使用Power Automate从OneDrive获取文件扩展名遇错误,求排查
Power Automate 获取OneDrive文件扩展名报错排查方案
校验获取扩展名的表达式
正确的写法应该是通过split()拆分文件名,再用last()取最后一段作为扩展名,示例表达式:last(split(items('Apply_to_each')?['Name'], '.'))注意要确保引用的是文件的
Name属性(包含后缀的完整文件名),如果误用了文件路径、ID等其他字段,或者表达式语法错误(比如少了括号、引号),都会触发报错。确认循环处理的对象是有效文件
如果是在「应用到每一个」循环中处理文件,要保证循环的输入是「列出文件」动作返回的文件集合,而非文件夹或其他非文件对象。如果循环item不是有效文件,引用Name属性时会出现空值或属性不存在的错误。兼容无扩展名的文件场景
若OneDrive中存在无扩展名的文件(如纯文本命名的文件),直接用last(split())虽然不会报错,但可能不符合后续逻辑预期。可以增加判断逻辑避免异常:if(contains(items('Apply_to_each')?['Name'], '.'), last(split(items('Apply_to_each')?['Name'], '.')), '')检查OneDrive连接权限
确认Power Automate绑定的OneDrive账号拥有目标文件夹的读取权限,权限不足会导致「列出文件」动作返回不完整数据,进而引发后续属性引用失败的报错。
内容的提问来源于stack exchange,提问作者Marc Woods
相关产品推荐
相关产品推荐

