私はMVC4でWebサイトを開発しています。ここで、ユーザーはいくつかの情報を入力し、それを保存してアップロードします。以下に示すように、画像を除くすべての情報は、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を使用)。これはできません。
助けてください
ありがとう。