文件上传时IFormFile参数始终为null的原因咨询
文件上传参数始终为null的解决办法
问题出在你前端的文件输入框缺少name属性,表单提交时浏览器依靠name字段识别并传递参数,后端参数名需要和前端name值一一对应。
修正后的HTML代码
<form action="Admin/UploadImage/" method="post" enctype="multipart/form-data"> <input type="file" id="file" name="file"> <!-- 新增name属性,值和后端参数名一致 --> <input type="submit"> </form>
后端代码说明
保持现有写法即可,[FromForm]是处理表单文件上传的正确特性,[FromBody]用于JSON请求体,不适合文件上传场景:
[HttpPost] [Route("UploadImage")] public async Task<string> UploadImage([FromForm] IFormFile file) { // 现在file应该能正常获取到文件了 return "hi"; }
额外注意事项
- 确认表单的
enctype="multipart/form-data"已正确设置,这是文件上传的必要条件; - 检查控制器类是否带有
[Route("Admin")]属性,确保表单action和后端路由匹配。
内容的提问来源于stack exchange,提问作者MyDaftQuestions
相关产品推荐
相关产品推荐

