C# 如何处理asp.net core 5中超出表单值长度限制的表单错误
在我的例子中,我正在处理ASP.NET Core 5项目,我需要将整个表单内容的最大大小限制为2MB 我已将以下属性添加到控制器C# 如何处理asp.net core 5中超出表单值长度限制的表单错误,c#,asp.net-mvc,forms,asp.net-core,C#,Asp.net Mvc,Forms,Asp.net Core,在我的例子中,我正在处理ASP.NET Core 5项目,我需要将整个表单内容的最大大小限制为2MB 我已将以下属性添加到控制器 [RequestFormLimits(ValueLengthLimit = 1024 * 1024 * 2)] public class MyController : Controller { ... } 但问题是,每当用户试图上传图像或任何其他表单项目,使表单的全部内容超过2MB,应用程序就会返回404错误 我正在寻找一种方法,当表单的全部内容超过2MB时,显
[RequestFormLimits(ValueLengthLimit = 1024 * 1024 * 2)]
public class MyController : Controller
{
...
}
但问题是,每当用户试图上传图像或任何其他表单项目,使表单的全部内容超过2MB,应用程序就会返回404错误
我正在寻找一种方法,当表单的全部内容超过2MB时,显示一条错误消息
我将非常感谢任何能够优雅地处理此错误的指南,而不是它当前向用户显示的404错误
谢谢在客户端,您可以执行类似的操作来检查文件大小:
$("input[type='file']").on("change", function () {
if (this.files[0].size > 2000000000) {
alert("Please upload a file less than 2GB.");
$(this).val('');
}
}
在服务器端,您可以拥有一个属性文件并检查大小。
file.FormFile.Length>5*1024*1024代码>
或者,您可以创建我更喜欢的自定义验证属性。这应该可以帮助你开始。
这是一个很好的答案。这很有启发性。请问,是否有一种方法可以对整个表单进行自定义验证或客户端验证,而不仅仅是表单中的一个文件字段?我需要控制整个表单的最大大小。请看这个以进行模型验证。看一看这个文件上传没有任何一个链接谈论或解决我的问题