当使用 [DisableFormValueModelBinding] 属性时,需要手动处理表单数据。以下是处理表单数据的代码示例:
[HttpPost]
[DisableFormValueModelBinding]
[ValidateAntiForgeryToken]
public async Task
// 获取文件
var file = form.Files.FirstOrDefault();
// 获取表单字段
var field1 = form["field1"];
var field2 = form["field2"];
// 处理文件和表单字段
// ...
return Ok();
}
在上面的示例中,我们首先通过调用 Request.ReadFormAsync() 方法来获取表单对象,然后从表单对象中获取文件和表单字段。
注意,当使用 [DisableFormValueModelBinding] 属性时,Model Binding 和 ModelState 都不会工作,因此我们需要手动处理表单数据。同时,由于我们手动处理表单数据,需要进行输入验证来确保传递的数据有效和安全。