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

如何从Dataverse图片列中获取文件扩展名?

解决Dataverse Image列在Power Automate中获取文件扩展名的问题

方法1:直接用Dataverse自带的MIME类型属性

Dataverse会给每个Image列自动生成一个配套的MIME类型属性,命名规则是[你的Image列名]_MimeType(比如你的Image列叫UserPhoto,这个属性就是UserPhoto_MimeType)。这个属性里直接存了图片的MIME类型,拿来映射扩展名最靠谱:

  1. 在Power Automate的「List rows」操作里,勾选这个MIME类型属性,把它加入返回字段
  2. 加一个「Compose」操作,用条件表达式把MIME类型转成扩展名:
    if(equals(items('Apply_to_each')?['userphoto_mimetype'], 'image/jpeg'), '.jpg',
    if(equals(items('Apply_to_each')?['userphoto_mimetype'], 'image/png'), '.png',
    if(equals(items('Apply_to_each')?['userphoto_mimetype'], 'image/gif'), '.gif', '.bmp')))
    
  3. 创建SharePoint文件时,把这个Compose的结果拼到文件名后面就行

方法2:解析文件Base64开头判断格式

如果因为某些原因拿不到MIME类型属性,就直接从文件内容下手——图片的Base64编码开头有固定特征,适合拍照场景(主流是JPG/PNG):

  1. 用Dataverse的「Download a file or image」操作下载图片,拿到二进制内容
  2. 加「Compose」操作,把二进制转成Base64:base64(body('Download_a_file_or_image'))
  3. 加条件分支判断开头:
    • 开头是/9j/ → 是JPG,用.jpg
    • 开头是iVBOR → 是PNG,用.png
    • 开头是R0lGOD → 是GIF,用.gif
  4. 把判断出的扩展名用在SharePoint文件命名上

额外提示

拍照上传的图片基本都是JPG或PNG,上面两种方法足够覆盖绝大多数场景。要是需要兼容更多格式,只要扩展对应的MIME类型或Base64特征判断就行。

内容的提问来源于stack exchange,提问作者Mervyn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 05:26:08