我有一个 Azure 逻辑应用程序,它获取文件内容,将其编码为 Base64,然后将其发送到 Azure 函数。然后,该函数以 base64 格式返回处理后的 Excel 数据。
如何使用“更新文件”获取这些新数据并将其写入 SharePoint 文件?我目前正在使用这种方法,但输出结果中一些正确的数据分散在乱码中。使用
decodeBase64
而不是 base64ToBinary
得到相同的结果。
"Update_file": {
"inputs": {
"body": "@{base64ToBinary(body('...'))}",
"host": {
"connection": {
"name": "..."
}
},
"method": "put",
"path": "..."
},
"runAfter": {},
"type": "ApiConnection"
}
我知道问题在于写入,而不是我的 Excel 数据被损坏,因为我将函数的输出复制并粘贴到
x.txt
并运行 $ base64 -d -i x.txt >> mtestfile.xls
,这得到了我想要的输出。
我现在尝试以
data:application/vnd.ms-excel;base64,<data>
之类的 URI 输出数据,并使用 dataUriToBinary
获得相同的结果。不知道从这里去哪里。
我遇到了同样的问题。 我找到了发送 Base64 编码文件的正确语法。 我的工作用于创建文件,但推送应该工作相同。
正文需要指定内容和内容类型。
{
"$content-type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"$content": "@{body('...')}"
}
那么步骤json就变成:
"Update_file": {
"inputs": {
"body": "{\n \"$content-type\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n \"$content\": \"@{body('...')}\"\n}",
"host": {
"connection": {
"name": "..."
}
},
"method": "put",
"path": "..."
},
"runAfter": {},
"type": "ApiConnection"
}