[POST请求在发送太多数据时失败

问题描述 投票:0回答:1

所以,基本上,我正在尝试通过发布请求发送文件。文件数据存储为字符串。

            var fd = new FormData();
            fd.append('fileString', file.attachmentString);
            fd.append('fileName', file.fileName);

            return $.ajax({
                url: baseUrl + url,
                data: fd,
                cache: false,
                processData: false,
                contentType: false,
                type: 'POST'
            });

此功能最多可以使用21MB,然后在22MB +时失败

该请求将永远不会到达22MB +请求的控制器,而是返回状态为0的错误“错误”。

    [HttpPost("SendFile")]
    public async Task<int> AddFile(MyFileData fileData)

这是发布请求,下面是MyFileData

    public class MyFileData
{
    public string FileString { get; set; }
    public string FileName { get; set; }
}

这一切都可以完美地运行到22MB,然后无法达到请求。有什么想法吗?

c# asp.net ajax file post
1个回答
0
投票

您可以增加文件长度限制值。

在.net核心中:

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
    .UseStartup<Startup>()
    .UseKestrel(options =>
    {
        options.Limits.MaxRequestBodySize = 52428800; //50MB
    });
}

并且在asp.net中,将这些代码添加到web.config中

<system.web>
      <httpRuntime maxRequestLength="600000"/>
</system.web>
© www.soinside.com 2019 - 2024. All rights reserved.