ajax - 控制器 / 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");
}
}
});
}
});
});
解决方案
我找到了这个问题的解决方案。我有 @Html.AntiForgeryToken() 验证,所以我删除了它并且它有效!
推荐阅读
- c# - 传递动态连接字符串以使用 EF 6 执行 DB 操作
- sql - 从内部返回值存在没有连接的子查询
- java - 来自同一帐户的多个远程登录会导致所有访问令牌刷新 Spring Security
- flyway - NullPointerException 在 OC4J 中通过 flyway 迁移
- java - Selenium GRID:org.openqa.selenium.SessionNotCreatedException:无法创建新服务:ChromeDriverService
- ios - 在 swift 中使用 NMSSH 为 scp 传递密码
- code-coverage - 我想忽略伊斯坦布尔报道报告中的文件夹 db_scripts
- php - 如何在 xampp 中为 windows 中的 php 7.2 版本安装 mcrypt
- c++ - 无法编译我的旧项目(使用 gcc)
- ios - 使用 replaykit 的 iOS 广播扩展不起作用