我有一個帶有3個輸入(文本,圖像,提交按鈕)的表單。MVC上傳並保存帶有Ajax的表單圖像
@using (Html.BeginForm("Save", "User", FormMethod.Post, new {Id="Form1", enctype = "multipart/form-data"}))
{
<input id="FileUploadInput" name="Image" type="file"/>
<input id="FirstName" Name="FirstName">
<input type="submit" id="inputSubmit" value="Save" />
}
現在我想從JavaScript和AJAX
$("#inputSubmit").click(function (e) {
e.preventDefault();
var form = $("#Form1");
form.validate();
if (form.valid()) {
$.ajax({
url: "/User/Save",
data: form.serialize(),
type: "POST",
success: function (data) {
if (data === "") {
location.reload();
}
else {
$(".content").html(data);
$.validator.unobtrusive.parse($(".content"));
}
}
});
}
return false;
});
提交此表在我的控制文件,我有。
public ActionResult Save(UserProfileSettings settings)
{
var image = setings.Image
var name = settings.Firstname
}
我的模型
public class UserProfileSettings
{
public string FirstName { get; set; }
public HttpPostedFileBase Image { get; set; }
}
的問題是,在我的控制器方法我得到settins.FirstName,但settings.Image始終爲空。我認爲,用這種方法不可能序列化圖像文件。
你或許可以從下面的例子中受益這裏顯示控制器:http://powerdotnetcore.com/ ASP淨MVC/ASP淨MVC-簡單的Ajax文件上傳,using- jquery –