问题描述:

1、网站向WebApi(以下简称Api) Post数据;

2、Api的过滤器先处理验证,通过HttpContext.Current.Request.InputStream获取网站Post过来的流数据;

3、问题出现了,如果我网站Post一个字节小于1000(大概是这个数目)的数据都没问题,如果我Post一个字节大于1000的就有问题了。当大于1000的时候,Api中获取的InputStream数据为空,但是如果去掉过滤器验证,直接跳到Api的控制器,这时Api的控制器就能获取到数据。详情见下图。

 

这是成功的Post请求:

HttpWebRequest使用post上传数据,webapi接收

HttpWebRequest使用post上传数据,webapi接收

HttpWebRequest使用post上传数据,webapi接收

这时,如果我再添加一点Post的数据量,问题就出现了,见下图:

HttpWebRequest使用post上传数据,webapi接收

HttpWebRequest使用post上传数据,webapi接收

HttpWebRequest使用post上传数据,webapi接收

HttpWebRequest使用post上传数据,webapi接收

HttpWebRequest使用post上传数据,webapi接收

只要StreamReader读过1次,stream.Position的值就不为0。

因此在StreamReader读取之前,加上stream.Position = 0

相关文章:

  • 2022-12-23
  • 2022-01-16
  • 2022-12-23
  • 2022-01-04
  • 2021-07-28
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案