提交表单时,如果表单数据太大,则操作方法将返回参数大小的 null. ASP.NET 核心 3.1



我正在使用 ASP.NET Core 3.1 - 并且正在使用Visual Studio 2019进行编码。

我有一个简单的表单,可以将两个文本值发送到服务器,但是,这些文本值可能很长(想象一下 base3 图像格式的 A3 大小图像 @ 64dpi(。

如果文件大小非常小,则在使用IIS Express在本地主机上进行测试时,这些上传很好,但是如果文本字符串变长(即更大的图像文件(,则操作上的参数为空。我知道上传限制很大,我上传的文件字符串约为 15MB。

我的代码如下:

视图:

<form id="df" asp-controller="Design" asp-action="SortAndSave"  method="post">
<input type="hidden" name="data2" id="data2" value="" />
<input type="hidden" name="image2" id="image2" value="" />
<input type="hidden" name="full" id="full" value="@full.ToString().ToLower()" />
</form>

控制器:

public ActionResult SortAndSave(string image2, string data2)
{
}

同样,当我使用小图像时,它工作正常,当我使用大图像时,返回的值为 null。 当我使用大图像并使用 Request.Form.Keys 时,这也返回 null。

我已经研究了两天,无法弄清楚我做错了什么。谁能帮忙?

您可以使用 RequestSizeLimitAttribute 来指定请求大小限制。在请求操作方法上指定它,如下所示:

[RequestSizeLimit("specify size in bytes")]
public ActionResult SortAndSave(string image2, string data2)
{
}

最新更新