如何正确处理Azure逻辑应用程序中的二进制响应?

问题描述 投票:0回答:1
我的工作流程需要 2 个步骤
  1. 调用外部 HTTP API,返回二进制文件/pdf。
  2. 将其转换为 Base64 字符串并将其发送到另一个 API。

不幸的是,我无法以 pdf 未损坏的方式解释来自 HTTP 连接器的二进制响应。

连接器的响应:

二元响应

尝试使用 ootb base64 转换并通过

base64(body('generate_and_download_pdf'))

将其发送到另一个 API

我是否想念如何在逻辑应用程序中处理二进制响应?

通过 javascript,我使用数组缓冲区,效果很好

    const response = await fetch(...);
    const arrayBuffer = await response.arrayBuffer();
    const buffer = Buffer.from(arrayBuffer);
    base64PDF = buffer.toString('base64');

我当前的解决方法是对该部分使用 azure 函数,该函数仅在 javascript 中进行如上所述的转换。

azure-logic-apps binary-data
1个回答
0
投票

我当前的解决方法是对该部分使用 azure 函数,该函数仅在 javascrip 中进行转换

您可以使用以下操作运行在逻辑应用程序中为您工作的相同 Java 脚本代码:

enter image description here

enter image description here

当逻辑应用程序与集成帐户连接时,内联脚本可以工作。

我是否想念如何在逻辑应用程序中处理二进制响应?

您可以使用base64内置函数:

enter image description here

如果你想转换为base64或解码它,你可以使用上面的内置函数。

© www.soinside.com 2019 - 2024. All rights reserved.