1. 程式人生 > >關於.NET Web API InputStream接收不了資料的問題

關於.NET Web API InputStream接收不了資料的問題

問題描述:1、網站向WebApi(以下簡稱Api) Post資料;

2、Api的過濾器先處理驗證,通過HttpContext.Current.Request.InputStream獲取網站Post過來的流資料;

3、問題出現了,如果我網站Post一個位元組小於1000(大概是這個數目)的資料都沒問題,如果我Post一個位元組大於1000的就有問題了。當大於1000的時候,Api中獲取的InputStream資料為空,但是如果去掉過濾器驗證,直接跳到Api的控制器,這時Api的控制器就能獲取到資料。詳情見下圖。

 

這是成功的Post請求:

這時,如果我再新增一點Post的資料量,問題就出現了,見下圖:

試試在StreamReader讀取之前,加上stream.Position = 0

本人親自驗證通過可以,希望對大家有幫助!