首页 新闻 会员 周边 捐助

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 5年前
< >
分享
最佳答案
0

你可以这样去拿:

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

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

水沽籽 | 园豆:54 (初学一级) | 2019-08-07 09:34
其他回答(4)
0

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

Tom.汤 | 园豆:3058 (老鸟四级) | 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 | 园豆:217 (菜鸟二级) | 2019-08-07 12:25

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

支持(0) 反对(0) 水沽籽 | 园豆:54 (初学一级) | 2019-08-07 13:03
0

谢谢了,搞定了

Angkor--:-- | 园豆:1086 (小虾三级) | 2020-06-19 17:14
0

厉害,我也遇到这个问题了

若水风萧 | 园豆:202 (菜鸟二级) | 2024-02-19 15:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册