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

ASP.NET MVC中Dropzone上传时控制器List<IFormFile>接收值为0如何解决

问题修复方案

问题1:paramName配置错误(核心原因)

你当前的paramName配置是无返回值的匿名函数,Dropzone无法识别正确的表单字段名,导致后端无法匹配到files参数:

// 错误写法:没有return返回值
paramName: function () { "files" },

直接修改为字符串赋值即可:

paramName: "files",

如果需要保留函数写法,必须补充return语句:

paramName: function() { return "files"; },

问题2:Dropzone JS文件重复引入冲突

你同时引入了dropzone.js和dropzone-amd-module.js,后者仅适用于AMD模块化加载场景,普通页面重复引入会导致实例初始化异常,就是你遇到的页面加载时报URL未配置的错误,删除多余引用即可:

<!-- 移除这行引用 -->
<script type="text/javascript" src="~/js/dropzone-amd-module.js"></script>

问题3:控制器绑定优化

可以给参数加上[FromForm]特性,显式指定从表单数据源绑定,避免其他绑定源的优先级干扰:

[HttpPost]
public IActionResult SaveUploadedFile([FromForm] List<IFormFile> files)
{
    //do stuff
}

可选优化:提交逻辑调整

你当前提交逻辑中,无队列文件时直接调用form提交,此时如果有已上传完成的文件不会被携带,建议删除多余的else分支逻辑,仅保留队列处理即可:

$('#Submit').on("click", function (e) {
    e.preventDefault();
    e.stopPropagation();
    if (self.getQueuedFiles().length > 0) {
        self.processQueue();
    }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:51:01