.NET Core API:嵌套模型中的File属性为何为Null?
问题原因
ASP.NET Core处理multipart/form-data类型请求时,嵌套模型的属性需要使用点分隔的层级命名完成绑定。你在Postman中提交嵌套的File字段时,未使用正确的键名格式,导致模型绑定无法识别该字段,最终赋值为null。
解决步骤
修正Postman表单字段命名
在Postman的form-data面板中,将嵌套文件的键名改为Test.File(对应嵌套模型TestModel的File属性);同时确保Test.Desc的键名是Test.Desc。字段类型选择File后,再选择要上传的文件。确保后端Action的绑定配置
控制器的Post方法参数建议显式添加[FromForm]特性,明确指定从表单数据绑定模型,示例代码:[HttpPost] public IActionResult HandleUpload([FromForm] RequestDTO request) { // 业务处理逻辑 return Ok(); }验证请求类型
确认Postman的请求类型为multipart/form-data,不要误选成x-www-form-urlencoded或其他类型,否则文件无法正常绑定。
内容的提问来源于stack exchange,提问作者emy
相关产品推荐
相关产品推荐

