将非常大的json对象传递给mvc4控制器

将非常大的json对象传递给mvc4控制器,json,asp.net-mvc-4,Json,Asp.net Mvc 4,我已经看过了,但我似乎无法让它工作,我经常收到错误消息,我的json对象太大,无法传递给我的控制器 字符串长度超过了maxJsonLength属性上设置的值。 因此,我有一个json对象,它包含多达3个图像的base64字符串以及一些文本数据 我正在尝试将该对象传递给控制器。如果我不包括图像,它工作得很好 所以我尝试过,在web.config中 <system.web.extensions> <scripting> <webServices&

我已经看过了,但我似乎无法让它工作,我经常收到错误消息,我的json对象太大,无法传递给我的控制器

字符串长度超过了maxJsonLength属性上设置的值。

因此,我有一个json对象,它包含多达3个图像的base64字符串以及一些文本数据

我正在尝试将该对象传递给控制器。如果我不包括图像,它工作得很好

所以我尝试过,在web.config中

<system.web.extensions>
    <scripting>
        <webServices>
            <jsonSerialization maxJsonLength="500000000"/>
        </webServices>
    </scripting>
</system.web.extensions>

以及,

<add key="aspnet:MaxJsonDeserializerMembers" value="150000000" />

我已将控制器从ActionResult更改为JsonResult

我已经读到,我需要创建自己的json解析器等,许多站点处理从控制器到客户端的数据传递

我试图从客户机向控制器获取大量数据


这里有什么帮助吗?

如果您查看
JsonResult
类的源代码ASP.NET MVC,您会发现以下代码():

MaxJsonLength
属性的default值设置为2MB,
RecursionLimit
设置为100。 您可以通过以下方式更改解除值:

return new JsonResult
{
     MaxJsonLength = Int32.MaxValue,
     Data = customers,
     JsonRequestBehavior = JsonRequestBehavior.AllowGet
};

.

ActionResult
更改为
JsonResult
不应产生任何差异(指定从控制器发送到视图的数据类型)。是否有理由需要将图像发布为json而不是使用
FormData
?我不能使用FormData,因为已经有一个父表单,有一些亮点为[all]创建了它几年前的网页,我没有机会重新设计所有这些意大利面。这不应该阻止你使用
FormData
发布你的3个文件。-
var formdata=new formdata()
然后附加每个文件并使用技术post OK,这样文件就在另一个屏幕上被选中,现在处于Base64中
return new JsonResult
{
     MaxJsonLength = Int32.MaxValue,
     Data = customers,
     JsonRequestBehavior = JsonRequestBehavior.AllowGet
};