繁体   English   中英

Azure 逻辑应用将文件内容作为编码字符串返回

[英]Azure logic app returns file content as encoded string

我需要使用 azure logic app 将保存在一个驱动器中的一个 Excel 文件传递​​给 azure 函数应用程序

触发逻辑应用程序后,它显示如下

我创建了用于读取 excel 文件的函数应用程序,当我通过邮递员以表单数据类型发送 excel 文件时,它工作正常

我尝试使用base64 、 utf-8 、 utf-16编码和解码方式通过参考一些 StackOverflow 问题和文档在 azure 函数 a 中创建 excel 文件,但我不能

当我使用下面的代码时

    byte[] fileinbytes = Convert.FromBase64String(file);
    File.WriteAllBytes("abcd.xlsx", fileinbytes);

它抛出异常

输入不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符或填充字符中的非法字符。

问题是如何将这些字符串解码到我的函数应用程序中的文件中,或者如何将这些编码的字符串读取为 excel 文件

谢谢

我解决了问题

我更改了来自逻辑应用程序代码视图功能中的逻辑应用程序的 Azure 函数请求,如下所示

            "body": {
                "file": "@{base64(body('Get_file_content'))}"
            },

现在我的天蓝色功能

        string file = req.Query["file"];
        string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
        dynamic data = JsonConvert.DeserializeObject(requestBody);
        file = file ?? data?.file;
        byte[] fileinbytes = Convert.FromBase64String(file);
        File.WriteAllBytes("abcd.xlsx", fileinbytes);

暂无
暂无

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

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