在MVC 4中上传数据库中的图像

时间:2014-12-26 10:10:39

标签: c# ajax asp.net-mvc asp.net-mvc-4

此操作方法在上传图像时执行dbx.SaveChanges();然后它抛出异常。  "字符串或二进制数据将被截断。 声明已经终止"

    public ActionResult FileUpload(int id, HttpPostedFileBase file)
    {
        dbCRMEntities dbx = new dbCRMEntities();
        CONTACT con = new CONTACT();
        if (file != null)
        {
            string pic = System.IO.Path.GetFileName(file.FileName);
            string path = System.IO.Path.Combine(
                                   Server.MapPath("~/Content/Images"), pic);
            // file is uploaded
            file.SaveAs(path);
            //con.NAME = path;
            con = dbx.CONTACTS.FirstOrDefault(Id => id == Id.CONTACT_ID);
            con.IMAGE = path;
            dbx.SaveChanges();

        }

        return RedirectToAction("Index", "Home");
    }

此处image是用于存储路径的字符串类型。请指导我应该做出哪些改变?

1 个答案:

答案 0 :(得分:1)

当尝试将错误的datatyp / data长度插入sql表的某些列时,通常会发生这种情况。例如:如果您的列是varchar [100]并且您尝试插入更长的段落。仔细检查值和相应的表列,错误位于那里