Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何处理asp.net core 5中超出表单值长度限制的表单错误_C#_Asp.net Mvc_Forms_Asp.net Core - Fatal编程技术网

C# 如何处理asp.net core 5中超出表单值长度限制的表单错误

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时,显

在我的例子中,我正在处理ASP.NET Core 5项目,我需要将整个表单内容的最大大小限制为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

或者,您可以创建我更喜欢的自定义验证属性。这应该可以帮助你开始。

这是一个很好的答案。这很有启发性。请问,是否有一种方法可以对整个表单进行自定义验证或客户端验证,而不仅仅是表单中的一个文件字段?我需要控制整个表单的最大大小。请看这个以进行模型验证。看一看这个文件上传没有任何一个链接谈论或解决我的问题