我正在 MVC 4 中开发一个网站,用户在其中填写一些信息并将其保存以供上传。除了图像之外的所有信息都使用 Javascript、Json 和 Ajax 保存在服务器上,如下所示:
$.ajax({
url: action,
type: "POST",
data: JSON.stringify(PostViewModel),
dataType: "json",
contentType: "application/json; charset=utf-8",
beforeSend: function () {
},
success: function (data) {
try{
alert('success');
}catch(err){alert(' Error: '+err);}
},
complete: function () {
},
error: function (xhr, ajaxOptions, thrownError) {
alert("Error occured");
}
});
但是现在我还需要上传他的图片,但是我找不到任何可以使用这种方法的方法,或者没有任何没有回发的方法。
我知道将 FileUpload Control 放在 Form 标记中,然后按下提交按钮,我可以获得如下所示的图像文件:
HttpPostedFileBase photo = Request.Files["photo"];
if (photo != null)
{
Session["ImgPath"] = "~/Content/PostImages/" + photo.FileName;
string path = Server.MapPath("~/Content/PostImages/");
photo.SaveAs(path + photo.FileName);
}
但是对于这种方法,我将不得不改变我不能保存内容的方法(使用 Javascript、Json 和 Ajax)。
请帮忙
谢谢。