WebApi仅接受POST正文中的4079个字符

时间:2018-04-17 07:51:06

标签: asp.net asp.net-web-api asp.net-web-api2 ionic3 postman

我正在开发一个Ionic 3移动应用程序并使用ASP.NET REST WebAPI 2作为我的后端。

我一直试图将base64字符串(大约150kb大的enocoded png图像)传递给我的一个webAPI方法,但在过去几天没有任何成功。

My API call

Method that I'm calling in my WebAPI

问题是WebApi似乎没有收到任何值,如图所示 HERE

我使用这些HEADERS

发送数据

经过进一步检查,我注意到以下情况。我拦截了与Postman的api调用,发现webApi接收数据,但是在HERE看到了第4079个字符的数据。由于webAPI似乎将JSON字符串剪切为第4079个字符,因此JSON本身并不完整(我猜测)是webAPI无法读取它的原因以及为什么值是在Visual Studio中调试webAPI方法时全部为空。

这是另一个有趣的事情。在网络部分下的Chrome开发工具中,我可以看到API调用以及所有其他信息。 Chrome还会显示FULL base64字符串,如HERE所示。

有没有人知道这里发生了什么?有没有其他人遇到过类似的问题?

更新1:

我刚刚将THIS添加到我的Web.config中,正如@evayly建议的那样。

我也尝试调整以下值:

maxAllowedContentLength

的maxRequestLength

aspnet:MaxJsonDeserializerMembers

但它没有解决问题。

更新2

有趣信息的另一部分:

如果我通过添加json结束标记手动编辑Postman中截取的帖子 - "并重新发送它,该方法读取数据没有任何问题。所以我认为主要的问题是将我的json切成4079个字符 - >创建一个没有正确结束标记的json字符串,从而使我的json无效。

0 个答案:

没有答案