Power Automation获取附件嵌入图片失败求助:编码异常乱码
解决Power Automate中Get Attachment (V2)嵌入图片乱码问题
问题原因
你遇到的乱码问题,本质是Base64字符串在HTML渲染时被错误编码,或是硬编码的MIME类型与附件实际格式不匹配,导致浏览器无法正确解析图片数据。
修复方案
方案1:修正Base64字符串输出逻辑
替换原HTML中的表达式,移除Base64字符串里的换行符,并动态匹配附件的MIME类型:
<img src="data:@outputs('Get_Attachment_(V2)')?['body/contentType'];base64,@{replace(outputs('Get_Attachment_(V2)')?['body/contentBytes'], '\r\n', '')}" />
replace(..., '\r\n', ''):清除Power Automate自动给长Base64字符串添加的换行符,这类换行会导致浏览器解析失败- 用
contentType替换硬编码的image/png,避免因格式不匹配引发的显示异常
方案2:改用Get File Content操作(更稳定)
如果Get Attachment (V2)的输出仍存在编码问题,可换用Get File Content操作:
- 添加
Get File Content操作,选择附件的文件标识符(从Get Attachment (V2)的body/id字段获取) - 嵌入图片时使用以下表达式:
<img src="data:@outputs('Get_File_Content')?['body/$content-type'];base64,@{outputs('Get_File_Content')?['body/$content']}" />
$content是Get File Content返回的原始Base64字符串,不会出现额外转义问题。
验证步骤
- 运行流后,查看HTML输出的
src属性,确认Base64字符串无乱码、换行符或多余转义字符 - 复制
src中的数据URI到浏览器地址栏,测试是否能直接显示图片
内容的提问来源于stack exchange,提问作者user1663661
相关产品推荐
相关产品推荐

