小编Che*_*Chu的帖子

在 .NET 6 中提交大型表单数据并执行操作后返回 400 错误

我正在使用 .NET 6 发布具有大表单数据(约 200Mb)的表单,并且没有任何文件。

这是我在前端的形式:

@using (Html.BeginForm(FormMethod.Post, new { id = "frm", @autocomplete = "off", @enctype="multipart/form-data" }))
{
    @Html.AntiForgeryToken()
...
}
Run Code Online (Sandbox Code Playgroud)

和后端:

[ValidateAntiForgeryToken]
[DisableRequestSizeLimit]
[HttpPost]
public async Task<IActionResult> SearchList(VM_SearchList data)
Run Code Online (Sandbox Code Playgroud)

引自SkrfaceVerificationToken我已经在前端 提交了一个字段,并ValidateAntiForgeryToken在后端用一个过滤器进行了装饰,所以它看起来不像是一个验证问题。

Matthew Steven Monkan这个答案中,我已经尝试了那里的所有设置,例如DisableRequestSizeLimit上面的过滤器,并且还尝试使用设置为 500Mb 的过滤器RequestFormLimits进行装饰。RequestSizeLimit

[ValidateAntiForgeryToken]
[RequestFormLimits(MultipartBodyLengthLimit = 524288000)]
[RequestSizeLimit(524288000)]
[HttpPost]
public async Task<IActionResult> SearchList(VM_SearchList data)
Run Code Online (Sandbox Code Playgroud)

并且还尝试设置Program.cs

builder.Services.Configure<HttpSysOptions>(options =>
{
    options.MaxRequestBodySize = int.MaxValue;

});

builder.Services.AddMvc();
builder.Services.Configure<FormOptions>(x =>
{
    x.ValueLengthLimit = int.MaxValue; …
Run Code Online (Sandbox Code Playgroud)

asp.net-core-mvc asp.net-core .net-6.0

3
推荐指数
1
解决办法
2985
查看次数

标签 统计

.net-6.0 ×1

asp.net-core ×1

asp.net-core-mvc ×1