使用Logic App上传邮件CSV附件至Blob仅存元数据无法读取如何解决
可行解决步骤
第一步:处理Get Attachment Body的编码输出
Office 365 Outlook等邮件连接器的Get Attachment Body操作返回的附件内容默认是base64编码格式,直接将该编码内容传入Blob的内容字段,就会得到不可读的编码串。你需要在上传Blob的Blob content配置栏使用函数解码,表达式如下:base64ToString(body('Get_Attachment_Body')?['ContentBytes'])
如果使用的是Gmail等其他连接器,可先运行一次Logic App,查看Get Attachment Body的运行输出日志,确认附件内容对应的字段名,替换表达式中的ContentBytes即可。第二步:配置Blob的内容类型
在上传Blob的操作参数中,找到Blob content type选项,手动填写为text/csv,避免Azure Blob默认将内容识别为通用二进制流,导致后续下载打开时格式异常。可选配置:适配CSV特殊编码
如果原CSV文件是GBK、UTF-8带BOM等特殊编码,可在解码时指定编码规则。比如要生成兼容Excel的UTF-8带BOM格式CSV,可使用如下表达式:concat(decodeBase64('77u/'), base64ToString(body('Get_Attachment_Body')?['ContentBytes']))
其中77u/是UTF-8 BOM标识的base64编码。
内容的提问来源于stack exchange,提问作者Bipin Babu
相关产品推荐
相关产品推荐

