私の仕事は、ユーザーがimgを参照して保存ボタンをクリックするたびに、動的に画像をデータベースに保存することです。私はasp.net mvc3、razorビューを使用しており、mysqlは私のデータベースです。参照したimgファイルをコントローラーに渡そうとしています。コントローラーで、私はそれをバイト形式に変換してdbに保存しています。しかし、ブレークポイントを置くと、nullが表示され、ファイルがコントローラーに渡されていないことを示しています
以下は私のビューとコントローラーです
$(document).ready(function () {
$("#photos").kendoUpload();
$("#save").click(function (event) {
alert("started");
url = 'Home/Details';
var b;
$.ajax({
type: "POST",
url: '/Home/Details',
data: { b: $('#photos').load(url) },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (str) {
alert("hai");
alert(str.st);
}
});
});
});
コントローラ:
public ActionResult Details(HttpPostedFileBase b)
{
try
{
b = Request.Files[1];
byte[] imageSize = new byte[b.ContentLength];
b.InputStream.Read(imageSize, 0, (int)b.ContentLength);
Image g = new Image();
g.Img = imageSize;
dbContext.Add(g);
dbContext.SaveChanges();
return RedirectToAction("Index");
}
catch
{
}
var str = new { st = "saved" };
return Json(str, JsonRequestBehavior.AllowGet);
}
}