2014-12-26 4 views
-1

이 동작 방법은 dbx.SaveChanges()를 실행할 때 이미지를 업로드하는 것입니다. 메서드를 호출하면 예외가 throw됩니다. "문자열 또는 이진 데이터가.립니다 문이 종료되었습니다"여기MVC 4의 데이터베이스에 이미지 업로드

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"); 
    } 

이미지 경로를 저장하기위한 문자열의 유형입니다. 변경해야 할 사항을 알려주십시오.

+0

데이터베이스의 테이블의 데이터 유형과 크기를 확인하십시오. –

+0

이미지는/Content/Images 폴더에 저장되지만 데이터베이스의 "path"는 db 이미지 형식 varchar (50) – Umair

+0

경로 변수의 lenth을 계산, 나는 그것보다 더 큰 것 같아요 –

답변

1

SQL 테이블의 일부 열에 잘못된 데이터 형식/데이터 길이를 삽입하려고하면 일반적으로 발생합니다. 예 : 열이 varchar [100]이고 더 긴 단락을 삽입하려는 경우 값과 해당 테이블 열을 신중하게 확인하십시오. 어딘가에 오류가 있습니다.

+0

네 그것은 단지 데이터 길이 문제가 있었는데, 내가 그것을 varchar (100)하고 지금 일하는 감사 Kumar Logged 매니쉬 한 – Umair

관련 문제