我正在开发一个Ionic 3移动应用程序并使用ASP.NET REST WebAPI 2作为我的后端。
我一直试图将base64字符串(大约150kb大的enocoded png图像)传递给我的一个webAPI方法,但在过去几天没有任何成功。
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无效。