这是我的模特:
public int DiscountAvailable { get; set; }
public string Color { get; set; }
public string Size { get; set; }
public int Stock { get; set; }
public String Other1 { get; set; }
public string Other2 { get; set; }
public byte[] Image { get; set; }
这是我的控制器:
public JsonResult Add(Products Product)
{
return Json(ProductDB.Add(Product), JsonRequestBehavior.AllowGet);
}
这是我的ADO连接数据库:
int i;
using (SqlConnection con = new SqlConnection(cs))
{
con.Open();
SqlCommand cmd = new SqlCommand();
string query = "Insert into Products (CategoryId, SubCategoryId, DiscountAvailable, Stock, Color, Size, Other1, Other2) values(@CatId, @SubCatId, @Sto, @Col, @Siz, @Oth1, @Oth2)";
cmd.CommandText = query;
cmd.Connection = con;
cmd.Parameters.AddWithValue("@CatId", Product.CategoryId);
cmd.Parameters.AddWithValue("@SubCatId", Product.SubCategoryId);
cmd.Parameters.AddWithValue("@SuppId", Product.SupplierId);
cmd.Parameters.AddWithValue("@ProdN", Product.ProductName);
cmd.Parameters.AddWithValue("@Pur", Product.PurchasePrice);
cmd.Parameters.AddWithValue("@Ima", Product.Image);
i = cmd.ExecuteNonQuery();
}
return i;
这是我的ajax:
function Add() {
var res = validate();
if (res === false) {
alert("nOT VALID");
return false;
}
var file_data = $('#Image').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
console.log("Here");
var ProductObj = {
CategoryId: $('#CategoryId').val(),
SubCategoryId: $('#SubCategoryId').val(),
Stock: $('#Stock').val(),
Color: $('#Color').val(),
Size: $('#Size').val(),
Other1: $('#Other1').val(),
Other2: $('#Other2').val(),
Image: file_data,
};
console.log(ProductObj);
$.ajax({
url: "/Products/Add",
data: JSON.stringify(ProductObj),
type: "POST",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (result) {
loadData();
console.log(result);
$('#myModal').modal('hide');
},
error: function (errormessage) {
alert(errormessage.responseText);
}
});
}
我创建了一个.cshtml,里面有输入字段,类型为' file'。 Ajax调用控制器和控制器调用DB,数据从该数据库插入数据库。在数据库内部,我已将image
列定义为类型' varbinary(MAX)'。
我的问题是:我应该在控制器中做什么来处理图像?应该在模型中做出哪些改变?