You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core MVC文件上传Post方法未触发问题求助

分析你的文件上传Post方法未触发的问题

我看了你的代码,很快找到了关键问题,咱们一步步来解决:

核心问题:控制器名称指定错误

你的FileUpload方法明明在HomeController里,但视图中的form标签却写了asp-controller="UploadFiles"——这个控制器根本不存在!MVC找不到对应的控制器和Action,自然不会触发Post方法。

修改视图中的form标签

把form的控制器属性改成Home,修正后的代码如下:

<form method="post" enctype="multipart/form-data" asp-controller="Home" asp-action="FileUpload">
    <div class="form-group">
        <div class="col-md-10">
            <p>Please Upload An Excel File.</p>
            <input type="file" name="files" multiple />
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-10">
            <input type="submit" value="Upload" />
        </div>
    </div>
</form>

额外验证点(确保万无一失)

除了控制器名称,我还帮你检查了其他可能影响的因素:

  • 表单enctype:你已经设置了enctype="multipart/form-data",这是文件上传必须的配置,没问题。
  • 参数名称匹配:视图中input的name="files"和控制器Action的参数List<IFormFile> files完全一致,模型绑定能正常工作。
  • 路由属性:控制器上的[HttpPost("UploadFiles")]定义了一个直接路由,如果你不想用tag helper,也可以把form的action直接写成action="/UploadFiles",这样也能正确触发方法。

测试建议

修改后,你可以打开浏览器的开发者工具(F12),点击提交按钮后查看网络请求:如果看到状态码是200,并且返回了包含文件数量、大小和路径的JSON,就说明成功触发了Post方法。

内容的提问来源于stack exchange,提问作者Jackington

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:57:50