上传任何大于 30meg 的文件时遇到问题,并显示“请求正文太大。最大请求正文大小为 30000000 字节”。 这是运行 aspnetcore 集成的独立 Azure 函数。
函数执行copyasync时抛出异常
using MemoryStream ms = new MemoryStream(); await req.Body.CopyToAsync(ms); byte[] webmBytes = ms.ToArray();
在函数 start 中,我只是调用ConfigureFunctionsWebApplication。这可以扩展以解决主机内部的问题吗?
我尝试在环境变量中指定 FUNCTIONS_REQUEST_BODY_SIZE_LIMIT,并将 [RequestSizeLimit(40000000)] 添加到函数方法中。但我仍然达到了 aspnet core 默认 30meg 左右的限制,而不是 Azure Function 的 100meg 限制。
尝试:
using Microsoft.AspNetCore.Server.Kestrel.Core;
namespace Acme.AzureFunctions
{
internal class Program
{
static void Main(string[] args)
{
IHost host = new HostBuilder()
.ConfigureFunctionsWebApplication()
.ConfigureServices(svc =>
{
svc.Configure<KestrelServerOptions>(opt =>
{
opt.Limits.MaxRequestBodySize = null;
});
...