【问题标题】:I am not able to save image in asp.net mvc5 with json我无法使用 json 在 asp.net mvc5 中保存图像
【发布时间】:2017-08-09 12:24:03
【问题描述】:

我的文件上传不工作。我想上传图片。 我已经在我的视图中创建了输入类型文件。 这是我的代码-

[HttpPost]
public ActionResult AddOrEdit(tbl_employee emp)
{
    var getGender = db.tbl_gender.ToList();
    SelectList list = new SelectList(getGender, "gender_type", "gender_type", emp);
    ViewBag.genderList = list;

    if (emp.employee_image != null)
    {
        string fileName = Path.GetFileNameWithoutExtension(emp.imageFile.FileName);
        string extension = Path.GetExtension(emp.imageFile.FileName);
        fileName = fileName + extension;
        emp.employee_image = "~/Images/Employee/" + fileName;
        fileName = Path.Combine(Server.MapPath("~/Images/Employee/"), fileName);
        emp.imageFile.SaveAs(fileName); 
    }
    if (emp.employee_id == 0)
    {
        db.tbl_employee.Add(emp);
        db.SaveChanges();
        return Json(new { success = true, message = "Saved Successfully" }, JsonRequestBehavior.AllowGet);
    }
    else
    {
        db.Entry(emp).State = EntityState.Modified;
        db.SaveChanges();
        return Json(new { success = true, message = "Updated Successfully" }, JsonRequestBehavior.AllowGet);
    }     
}

这是我的tbl_employee.cs

public long employee_id { get; set; }
public string employee_image { get; set; }
public HttpPostedFileBase imageFile { get; set; }

这里有什么问题?

【问题讨论】:

  • 不清楚你在这里问什么。您的数据模型不能包含 HttpPostedFileBase 属性(没有与之等效的数据库)-您将文件的路径存储在数据库中。
  • 是的,我的employee_image 属性是保存路径的属性。
  • 你有什么问题??你没提过。
  • 你为什么要检查if (emp.employee_image != null) - 新员工总是null,所以你的图像永远不会被保存。
  • 图片未上传。它在数据库中为空。

标签: asp.net-mvc


【解决方案1】:

在您的函数中包含HttpPostedFileBase,以便在您的AddOrEdit 函数中获取上传的文件。

public ActionResult AddOrEdit(tbl_employee emp, HttpPostedFileBase Image)
{

}

如需更多解释,请在您的问题中添加view。 确保您的视图包含图片上传代码。

 @using (Html.BeginForm("AddOrEdit", "Employee", null, FormMethod.Post, new { enctype = "multipart/form-data" }))

【讨论】:

  • 我想将 imageFile 位置保存在我的数据库中并在索引视图中检索图像。我将 jquery 和 ajax 用于 POST 方法。我认为这就是我的图片没有通过正常方式上传的原因。
  • 你在控制器中获得上传文件的价值吗?
猜你喜欢
  • 1970-01-01
  • 2015-12-06
  • 2022-11-14
  • 1970-01-01
  • 2015-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多