首页 > 解决方案 > 控制器 / ajax resquest 上的 HttpPostedFileBase null

问题描述

我正在尝试上传文件并将其发送到控制器,但它总是返回 null。这是代码:

  [HttpPost, ValidateAntiForgeryToken]
        public JsonResult Edita(string nome, string login, string email, string dataNascimento, HttpPostedFileBase avatar)
        {
            if (ModelState.IsValid)
            {
                       ......
            }
        }

这是javascript代码....我错过了什么吗?我也尝试过使用 formData,但无法使其工作

    $(document).ready(function () {
        $("#btnSalvar").click(() => {
            if (form.valid()) {
                var url = "@Url.Action("Edita", "Usuario")";
                let myFormData = $("#formUsuario").serializeArray();

                $.ajax(
                    {
                        type: "POST",
                        url: url,
                        data: myFormData,
                        dataType: 'json',
                        autoUpload: true,
                        success: function (data) {
                            if (data.status == "OK") {
                                $("#userModal").modal("hide");
                            }
                        }
                    });
            }
        });
    });

标签: ajaxfile-uploadasp.net-mvc-5

解决方案


我找到了这个问题的解决方案。我有 @Html.AntiForgeryToken() 验证,所以我删除了它并且它有效!


推荐阅读