我有一个逻辑应用程序,它会定期列出 Blob 存储的内容并将找到的任何文件发布到 API,我认为它正在工作 - 至少在某些文件类型上。 但目前它正在查找 PGP 加密文件(即:myfile.txt.pgp),并且我发现该文件未正确发布到我的 API。 到达 API 后,文件大小(字节 [] 长度)几乎翻倍。
我的帖子正文:`
{
"$content-type": "multipart/form-data",
"$multipart": [
{
"body": "@{body('Get_blob_content_(V2)')}",
"headers": {
"Content-Disposition": "form-data; name=original; filename=@{item()?['Name']}",
"Content-Type": "@{item()?['MediaType']}"
}
},
{
"body": "@{item()?['Path']}",
"headers": {
"Content-Disposition": "form-data; name=fullname;"
}
},
{
"body": "@{item()?['Size']}",
"headers": {
"Content-Disposition": "form-data; name=blobsize;"
}
}
]
}
`
在上面的内容流中,blob 的内容长度为 4078,发布的“blobSize”反映了这一点 (4078)。 但在 API 中 - 发布的文件大小约为 7479(并且格式不正确,我无法解密 PGP)。
API 可以完美地上传相同的文件和其他表单参数(使用标准 Postman 或我的 UI)。 但是,当从逻辑应用程序调用 API 来发送 blob“文件内容”时,它会以某种不同的格式发送,并且我无法弄清楚如何正确解析它。
编辑:上传文本文件(未加密的PGP)时,我可以看到“文件内容”实际上返回文件的字符串内容。因此,看起来它实际上也在对 PGP 文件执行此操作,但字符串内容已加密且无用。 如何获取并发送原始文件二进制文件而不是字符串内容?
当您获取内容时(通过获取 blob 内容操作),它会被
base64
加密。您可以使用函数 base64tobinary(<pass your base 64 content here>)
将其转换为二进制
在撰写操作中使用它并照常传递输出。