C# - 什么对象类型是 FormData
C# - What object type is FormData
我有一个小表格,允许用户上传一个文件。表格如下。
<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>
我正在通过 ajax 上传文件,所以我有以下代码
$("form#createInterviewForm").submit(function (e) {
e.preventDefault();
var fd = new FormData($(this)[0]);
$.ajax({
url: '/Interviews/AjaxCreate',
data: fd,
processData: false,
contentType: false,
type: 'POST',
success: function (data) {
alert(data);
}
});
});
在我的控制器上有这样的东西
[HttpPost]
public JsonResult AjaxCreate(??What datatype?? postedData)
{
return Json(true);
}
问题
当我提交时,post 到达我的控制器。我的问题是我似乎无法弄清楚 FormData 的对象类型是什么。谁能帮帮我?
查看 HttpPostedFileBase
。 Link
(From MSDN) Serves as the base class for classes that provide access to individual
files that have been uploaded by a client.
您的控制器操作将是:
[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;
});
这将 post 所有表单输入和文件输入。
在控制器上,我所要做的就是使用 Request.Form["Key"] 和 Request.Files 来访问所有信息
我有一个小表格,允许用户上传一个文件。表格如下。
<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>
我正在通过 ajax 上传文件,所以我有以下代码
$("form#createInterviewForm").submit(function (e) {
e.preventDefault();
var fd = new FormData($(this)[0]);
$.ajax({
url: '/Interviews/AjaxCreate',
data: fd,
processData: false,
contentType: false,
type: 'POST',
success: function (data) {
alert(data);
}
});
});
在我的控制器上有这样的东西
[HttpPost]
public JsonResult AjaxCreate(??What datatype?? postedData)
{
return Json(true);
}
问题 当我提交时,post 到达我的控制器。我的问题是我似乎无法弄清楚 FormData 的对象类型是什么。谁能帮帮我?
查看 HttpPostedFileBase
。 Link
(From MSDN) Serves as the base class for classes that provide access to individual
files that have been uploaded by a client.
您的控制器操作将是:
[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;
});
这将 post 所有表单输入和文件输入。
在控制器上,我所要做的就是使用 Request.Form["Key"] 和 Request.Files 来访问所有信息