Jquery C#-FormData是什么对象类型

Jquery C#-FormData是什么对象类型,jquery,ajax,asp.net-mvc,file-upload,Jquery,Ajax,Asp.net Mvc,File Upload,我有一个小表单,允许用户上传一个文件。表格如下 <form action="/Interviews/Create" enctype="multipart/form-data" id="createInterviewForm" method="post"> <div class="form-group"> <div class="col-xs-6"> <label>File Upload:</label>

我有一个小表单,允许用户上传一个文件。表格如下

<form action="/Interviews/Create" enctype="multipart/form-data" id="createInterviewForm" method="post">
<div class="form-group">
    <div class="col-xs-6">
        <label>File Upload:</label>
        <input type="file" id="txtInterviewUploadFile"> 
    </div>
</div>
</div>
<div class="form-group">
    <div class="col-md-10">
        <input type="submit" value="Create" class="btn btn-primary" />
        <input type="submit" value="Cancelar" class="btn btn-primary" id="btnCancelInterviewCreation" />
    </div>
</div>
我的控制器上有这样的东西

[HttpPost]
public JsonResult AjaxCreate(??What datatype??  postedData)
{
    return Json(true);
}
问题
当我提交时,我的控制者收到了帖子。我这里的问题是我似乎无法弄清楚FormData的对象类型是什么。有人能帮我吗?

检查
HttpPostedFileBase

您的控制器操作将是:

[HttpPost]
public JsonResult AjaxCreate(HttpPostedFileBase postedData)
{
    return Json(true);
}

所以我终于成功了。这就是我所做的:

在ajax上,我有以下几点:

$("form#createInterviewForm").submit(function (e) {
        e.preventDefault();

        var formData = new FormData($(this)[0]);
        formData.append('file', $("#txtInterviewUploadFile")[0].files[0]);

        $.ajax({
            url: "/Interviews/AjaxCreate",
            type: 'POST',
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                alert(data)
            }
        });

        return false;
    });
这将发布所有表单输入和文件输入


在控制器上,我所要做的就是使用Request.Form[“Key”]和Request.Files来访问所有信息

通常您会创建一个表示该formdata的模型。我更改了控制器以匹配您发布的内容,但postedData为空。您能提供一个它在控制器端的外观示例吗?要在控制器中获取该文件,您可以使用类似var uploadedFile=Request.Files[0];;的方法进行访问;。要获取属性,可以使用例如Request.Form[“Name”]
[HttpPost]
public JsonResult AjaxCreate(HttpPostedFileBase postedData)
{
    return Json(true);
}
$("form#createInterviewForm").submit(function (e) {
        e.preventDefault();

        var formData = new FormData($(this)[0]);
        formData.append('file', $("#txtInterviewUploadFile")[0].files[0]);

        $.ajax({
            url: "/Interviews/AjaxCreate",
            type: 'POST',
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                alert(data)
            }
        });

        return false;
    });