最近在做一个审批流的时候遇到了个难题,如果将带有附件列表项复制到其他列表中。过去做过不带附件的列表复制,还是比较简单的,但附件却无法直接复制。百度上的教程比较少,最后还是到youtube上找到了方法(吐槽下英文太难了),还是比较简单的
List to List步骤
这里只写Power Automate的步骤,新建列表或Forms的就不写了
1、创建触发器(当创建项时)
2、复制新创建的列表项到新的列表(不包括附件)
3、获取附件
SharePoint里就有获取附件的组件,还是比较方便的,这个ID是第一步“当创建项时”的ID
4、获取附件内容并添加附件
因为之前获取的附件无法直接添加到新列表项中,所以还得先获取附件内容才能执行添加附件,另外针对附件不只一个的情况,所以这里需要用到循环,"body"是上一步"获取附件"得来的
这样整个带附件的列表项复制就完成了
Forms to List步骤
这个相对于List之前的复制就困难些了,毕竟List里有组件可以直接获取附件和附件内容,而Forms却没有,最后依然在youtube上找到了方法,用到了Json
1、创建触发器(提交新回复时)并获取回复详细信息
2、新建列表项并将Forms内容(不包括附件)复制进去
3、分析Json
重要的一步,获取到附件的信息,代码直接复制粘贴就可以
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"link": {
"type": "string"
},
"id": {
"type": "string"
},
"type": {},
"size": {
"type": "integer"
},
"referenceId": {
"type": "string"
},
"driveId": {
"type": "string"
},
"status": {
"type": "integer"
},
"uploadSessionUrl": {}
},
"required": [
"name",
"link",
"id",
"type",
"size",
"referenceId",
"driveId",
"status",
"uploadSessionUrl"
]
}
}
4、获取附件内容并添加附件
依然是需要用到循环
这样带有附件的Forms复制到列表中也完成了