当我们在方法中指定[FromBody]标签时,有人能告诉我asp.net core mvc framework
做了什么吗?
// POST api/values
[HttpPost]
public IActionResult register ([FromBody]CustomerViewModel custView)
{
if (ModelState.IsValid)
{
repo.create_customer(custView);
return Ok(custView);
}
return Redirect("/");
}
这是我们想要接收的视图模型。
public class CustomerViewModel
{
[Required(ErrorMessage = "Please enter your name!")]
public string name { get; set; }
//[Required(ErrorMessage = "Please upload your resume!")]
//public IFormFile cv { get; set; }
}
我注意到当我不使用[FromBody]标签时,我仍然可以正确地接收对象(具有文件属性),当我添加[FromBody]时,它无法通过http接收文件流,为什么呢我们甚至想使用[FromBody]标签来接收http帖子?
忘记提及,即使使用multipart-tag
也没有用答案 0 :(得分:0)
尝试将表单上的内容类型设置为“multipart / form-data”。这是我们在上传文件时应该使用的。规范是https://www.ietf.org/rfc/rfc1867.txt。