首页新闻找找看学习计划

asp.net core,上下文拿到的Form总是异常的呢

0
悬赏园豆:20 [已解决问题] 解决于 2019-08-07 13:07

重写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'

充钱你会更强的主页 充钱你会更强 | 初学一级 | 园豆:54
提问于:2019-08-06 22:26

1111111

hellotim 9个月前
< >
分享
最佳答案
0

你可以这样去拿:

收获园豆:10
无敌土豆 | 初学一级 |园豆:159 | 2019-08-07 00:27

谢谢大神!
解决了,用[FromForm]标记参数,提交用form-data方式,Request.Form就有值了;
之前是用[FromBody]标记,没成功过,连Request.Body都没有。

充钱你会更强 | 园豆:54 (初学一级) | 2019-08-07 09:34
其他回答(2)
0

这种需要获取request body 里面的内容, 从form 里面取是不行的

Tom.汤 | 园豆:1788 (小虾三级) | 2019-08-07 08:01

[FromForm]标记参数,对应Request.Form;
之前[FromBody]标记,没成功过,连Request.Body都没有。
有时间在研究下[FromBody]了

支持(0) 反对(0) 充钱你会更强 | 园豆:54 (初学一级) | 2019-08-07 13:04
0

request 是 form 类型才能获取 form-data,否则会异常,有个 request.HasFormContentType 的方法,可以先判断再获取 form data

收获园豆:10
WeihanLi | 园豆:197 (初学一级) | 2019-08-07 12:25

谢谢大神点醒了我!
用[FromForm]标记参数,提交用form-data方式,Request.Form就有值了;
之前是用[FromBody]标记,没成功过,连Request.Body都没有。

支持(0) 反对(0) 充钱你会更强 | 园豆:54 (初学一级) | 2019-08-07 13:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册