重写ActionFilterAttribute的OnActionExecuting方法中,想要获取POST来的值,但试了几种请求方式(form-data、x-www-form-urlencoded、application/json)依然异常。像Query,没有值也不会异常啊。
抛出的异常信息:'((Microsoft.AspNetCore.Http.Internal.DefaultHttpRequest)((Microsoft.AspNetCore.Http.DefaultHttpContext)actionContext.HttpContext).Request).Form' threw an exception of type 'System.InvalidOperationException'
你可以这样去拿:
谢谢大神!
解决了,用[FromForm]标记参数,提交用form-data方式,Request.Form就有值了;
之前是用[FromBody]标记,没成功过,连Request.Body都没有。
这种需要获取request body 里面的内容, 从form 里面取是不行的
[FromForm]标记参数,对应Request.Form;
之前[FromBody]标记,没成功过,连Request.Body都没有。
有时间在研究下[FromBody]了
request 是 form 类型才能获取 form-data,否则会异常,有个 request.HasFormContentType 的方法,可以先判断再获取 form data
谢谢大神点醒了我!
用[FromForm]标记参数,提交用form-data方式,Request.Form就有值了;
之前是用[FromBody]标记,没成功过,连Request.Body都没有。
谢谢了,搞定了
厉害,我也遇到这个问题了
1111111
– hellotim 5年前