将大文件的内容从标准逻辑应用程序传递到 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 文件夹中创建的所有文件:
- "When a file is created" 在 OneDrive 中触发
- 使用上一步中的参数
File name
和 File content
调用自定义 API 应用程序。
只要上传的文件相对较小,一切都可以正常工作,但是对于较大的文件(例如 10 MB),FileContent
被接收为 null,过程逻辑失败是可以理解的。
知道问题的原因是什么吗?我试过将 FileContent
从 string
更改为其他类型(Stream
等),但是那行不通。只有上一步中的以下参数可用:File content
、File content type
、File entity tag
、File identifier
、File name
和 File path
.
标准 API,例如 "Azure Blob Storage - Create blob",等在处理大型 File content
时没有任何问题,因此肯定有办法实现它。谢谢。
可以通过增加 API 应用程序 Web.config 中 HttpRuntimeSection.MaxRequestLength
属性 的值来解决此问题:
<configuration>
<system.web>
<httpRuntime maxRequestLength="12288" />
</system.web>
</configuration>
我正在使用带有 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 文件夹中创建的所有文件:
- "When a file is created" 在 OneDrive 中触发
- 使用上一步中的参数
File name
和File content
调用自定义 API 应用程序。
只要上传的文件相对较小,一切都可以正常工作,但是对于较大的文件(例如 10 MB),FileContent
被接收为 null,过程逻辑失败是可以理解的。
知道问题的原因是什么吗?我试过将 FileContent
从 string
更改为其他类型(Stream
等),但是那行不通。只有上一步中的以下参数可用:File content
、File content type
、File entity tag
、File identifier
、File name
和 File path
.
标准 API,例如 "Azure Blob Storage - Create blob",等在处理大型 File content
时没有任何问题,因此肯定有办法实现它。谢谢。
可以通过增加 API 应用程序 Web.config 中 HttpRuntimeSection.MaxRequestLength
属性 的值来解决此问题:
<configuration>
<system.web>
<httpRuntime maxRequestLength="12288" />
</system.web>
</configuration>