Power Apps上传图片与签名通过Power Automate发邮件遇FileName问题求助
解决Power Apps直接发送图片与签名邮件附件的问题
问题根源
你遇到的FileName问题是因为PenInput控件本身没有FileName属性,AddMediaButton的FileName是上传文件自带的,但PenInput没有这个属性,直接用PenInput1.FileName会报错。另外,Power Automate的邮件附件需要按正确的数组格式传递,而非单独的两个参数。
步骤1:配置Power Automate流
- 新建即时云流,触发源选择「Power Apps」
- 添加「发送电子邮件(V2)」动作,填写收件人、主题等基础信息
- 在「附件」区域,点击「添加附件」→「输入整个数组」,让流可以接收多个附件的集合
- 保存流,记下流的名称(比如
SendEmailWithAttachments)
步骤2:Power Apps中编写调用代码
在发送按钮的OnSelect属性中,使用以下代码(替换成你的流名称和控件名):
// 先判断是否有上传的图片和签名,避免空值报错 If( !IsBlank(AddMediaButton1.FileName) && !IsBlank(PenInput1.Image), SendEmailWithAttachments.Run( [ // 上传的图片附件 { Name: AddMediaButton1.FileName, ContentBytes: AddMediaButton1.Media }, // 签名附件,手动指定文件名 { Name: "用户签名.png", ContentBytes: PenInput1.Image } ] ) )
关键注意事项
- 流的附件参数必须是数组格式,每个附件对象包含
Name(文件名,大小写敏感)和ContentBytes(文件内容)两个键 - PenInput的签名需要手动指定文件名,可固定为「用户签名.png」,也可以结合输入框让用户自定义
- 确保AddMediaButton已成功上传文件(
AddMediaButton1.FileName不为空),PenInput已有签名(PenInput1.Image不为空)
内容的提问来源于stack exchange,提问作者user3599946
相关产品推荐
相关产品推荐

