jquery - 如何在 mvc 中使用 ajax 在数据库中添加图像?
问题描述
我是模型视图控制器的新手。我必须在 mvc 应用程序中使用 ajax 在数据库中添加 Fname、Mname、Lname 和 Image。这是我的代码。
索引.cshtml
<script>
$(function () {
$("#btnsend").click(function () {
var name = $("#Fname").val();
var file = $("#browseId").get(0).files;
var data = new FormData;
data.append("images", file[0]);
data.append("Fname", $("#Fname").val());
data.append("Mname", $("#Mname").val());
data.append("Lname", $("#Lname").val());
if (name == '') {
alert("Fill all details!");
}
else {
$.ajax({
type: "POST",
url: "/Home/Add_data",
data: data,
contentType: false,
processData: false,
success: function (da) {
alert("Record Successfully Inserted!");
},
error: function (suc) {
alert("Not inserted!");
}
});
}
})
})
</script>
注册器.cs
public class register
{
public string Fname{get;set;}
public string Mname { get; set; }
public string Lname { get; set; }
public string images { get; set; }
public HttpPostedFileWrapper ImageFile { get; set; }
}
家庭控制器.cs
public class HomeController : Controller
{
//
// GET: /Home/
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
public ActionResult Index()
{
return View();
}
[HttpPost]
public void Add_data(register rs)
{
try
{
SqlCommand com = new SqlCommand("p1", con);
com.CommandType = CommandType.StoredProcedure;
con.Open();
com.Parameters.AddWithValue("@Fname", rs.Fname);
com.Parameters.AddWithValue("@Mname", rs.Mname);
com.Parameters.AddWithValue("@Lname", rs.Lname);
if (rs.ImageFile != null && rs.ImageFile.ContentLength > 0)
{
string filename = Path.GetFileName(rs.ImageFile.FileName);
string imagepath = Path.Combine(Server.MapPath("~/ImgFile/Images"), filename);
rs.ImageFile.SaveAs(imagepath);
}
com.Parameters.AddWithValue("@img", "~/User-images/" + rs.ImageFile.FileName);
com.ExecuteNonQuery();
con.Close();
}
catch (Exception)
{
}
}
}
}
这是数据库查询
create table empdata
( studId int 非空主键标识(1,1),Fname nvarchar(50)非空,Mname nvarchar(50)非空,Lname nvarchar(50)非空,图像 nvarchar(max)非空)
创建过程 p1 @Fname nvarchar(50)、@Mname nvarchar(50)、@Lname nvarchar(50)、@images nvarchar(max)
开始插入 empdata 值(@Fname,@Mname,@Lname,@images)
结尾
我希望当用户单击保存按钮时,所有详细信息和图像都保存到数据库中。提前致谢!
解决方案
推荐阅读
- linux - E/launcher - SessionNotCreatedError:预期的浏览器二进制位置,但无法在 Jenkins(linux)的默认位置找到二进制文件
- apache-nifi - NiFi:在handlehttprequest中使用的端口
- networking - 无法 ping 远程子网 vm
- html-table - 将表canvas-datagrid插入canvas KonvaJS
- c++ - 如何让我的 Visual Studio 支持更多 Unicode 字符?
- java - 以下代码有什么问题?数据库未更新
- python - PyAutoGUI 模块与 chrome 一起使用的问题
- selenium - 单击元素不调用下一个事件
- javascript - 使用节点杀死所有休眠的 mysql 池连接
- php - 从 Postman 测试 REST API 时尝试获取非对象的属性“员工”