Sharepoint 在 Azure 逻辑应用中使用 Base64 内容更新 excel 文件?

问题描述 投票:0回答:1

我有一个 Azure 逻辑应用程序,它获取文件内容,将其编码为 Base64,然后将其发送到 Azure 函数。然后,该函数以 base64 格式返回处理后的 Excel 数据。

如何使用“更新文件”获取这些新数据并将其写入 SharePoint 文件?我目前正在使用这种方法,但输出结果中一些正确的数据分散在乱码中。使用

decodeBase64
而不是
base64ToBinary
得到相同的结果。

 "Update_file": {
    "inputs": {
      "body": "@{base64ToBinary(body('...'))}",
      "host": {
        "connection": {
          "name": "..."
        }
      },
      "method": "put",
      "path": "..."
    },
    "runAfter": {},
    "type": "ApiConnection"
  }

jibberish excel file

我知道问题在于写入,而不是我的 Excel 数据被损坏,因为我将函数的输出复制并粘贴到

x.txt
并运行
$ base64 -d -i x.txt >> mtestfile.xls
,这得到了我想要的输出。

我现在尝试以

data:application/vnd.ms-excel;base64,<data>
之类的 URI 输出数据,并使用
dataUriToBinary
获得相同的结果。不知道从这里去哪里。

excel sharepoint base64 azure-functions azure-logic-apps
1个回答
0
投票

我遇到了同样的问题。 我找到了发送 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"
  }
© www.soinside.com 2019 - 2024. All rights reserved.