将大文件的内容从标准逻辑应用程序传递到 API 个应用程序

Pass content of large files from standard Logic apps to API apps

我正在使用带有 Swashbuckle 的 ASP.NET Web API 项目来测试接受 2 个参数的简单自定义 API 应用程序:文件名和文件内容。

public class Parm
{
    public string FileName { get; set; }
    public string FileContent { get; set; }
}

大摇大摆:

{
  "FileName": "string",
  "FileContent": "string"
}

我在将此 API 应用程序与 Logic 应用程序s 集成时遇到问题,例如按如下方式处理在 OneDrive 文件夹中创建的所有文件:

  1. "When a file is created" 在 OneDrive 中触发
  2. 使用上一步中的参数 File nameFile content 调用自定义 API 应用程序。

只要上传的文件相对较小,一切都可以正常工作,但是对于较大的文件(例如 10 MB),FileContent 被接收为 null,过程逻辑失败是可以理解的。

知道问题的原因是什么吗?我试过将 FileContentstring 更改为其他类型(Stream 等),但是那行不通。只有上一步中的以下参数可用:File contentFile content typeFile entity tagFile identifierFile nameFile path.

标准 API,例如 "Azure Blob Storage - Create blob",等在处理大型 File content 时没有任何问题,因此肯定有办法实现它。谢谢。

可以通过增加 API 应用程序 Web.config 中 HttpRuntimeSection.MaxRequestLength 属性 的值来解决此问题:

<configuration>  
    <system.web>  
        <httpRuntime maxRequestLength="12288" />  
    </system.web>  
</configuration>

Default value is 4096 KB.