繁体   English   中英

Azure 逻辑应用程序 - 如何将文件从字节数组上传到 Azure Blob 存储

[英]Azure Logic App - How to upload file to Azure Blob Storage from byte array

我正在尝试创建一个由包含 JSON 请求作为有效负载的 HttpRequest 触发的逻辑应用程序。 在此 JSON 中,一个字段包含文件:

{
"EntityId": "45643",
"SharedGuid": "00000000-0000-0000-0000-000000000000",
"Document": {
    "DocumentName": "MyFileName.pdf",
    "File": "JVBERi0xLjMKJfv8/f4KMS.....lJUVPRg=="
}}

此“文件”内容由客户应用程序使用以下 C# 函数生成:File.ReadAllBytes("local path here")。

我设法将字节数组上传到 blob 存储。 但该文件一旦上传到 Blob 存储中就无效。

我为 JSON 模式定义中的文件尝试了不同的文件内容:字符串、二进制、应用程序/八位字节流。

这就是我的逻辑应用程序现在的样子

任何帮助将不胜感激。

你有没有在你的httprequest代码中做了将byte转为Base64String的操作,就像下面的代码:

byte[] b = File.ReadAllBytes(@"filepath");
string s = Convert.ToBase64String(b);

根据您提供的文件内容,您似乎已将其转换为上述base64string,因此我提供以下解决方案:

对于此要求,您可以在“解析 JSON”操作中将响应数据解析为字符串(不需要在架构中使用“二进制”),然后在“创建 blob”操作中使用 base64ToBinary() 方法,请参阅截图如下:

在此处输入图片说明 “Blob 内容”中的表达式为:

base64ToBinary(body('Parse_JSON')?['Document']?['File'])

希望有帮助~

如果仍有任何问题,请随时告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM