-1
저는 엔티티 프레임 워크와 함께 ASP.NET C#을 사용하고 있으며 프로필의 이미지를 업로드하고 표시하려고합니다. 상기 제어기 내 여기 Entity Framework를 사용하여 이미지를 가져 오는 방법은 무엇입니까?
가보기 파일의 관련 부분 (Manage.cshtml) 여기서<input type="file" name="form-register-photo" id="form-register-photo" disabled>
컨트롤러 파일의 관련 부분 (Manage.cs)
[HttpPost]
public ActionResult Manage(ManageViewModel manageviewmodel,HttpPostedFileBase upload)
{
TheFoodyContext db = new TheFoodyContext();
User user_to_update = db.Users.SingleOrDefault(s => s.email == manageviewmodel.Email);
if (ModelState.IsValid)
{
if (user_to_update != null && (upload != null && upload.ContentLength > 0))
{
var fileName = Path.GetFileName(upload.FileName);
var path = Path.Combine(Server.MapPath("~/FOODY"), fileName);
user_to_update.email = manageviewmodel.Email;
user_to_update.fname = manageviewmodel.FirstName;
user_to_update.lname = manageviewmodel.LastName;
user_to_update.phone = manageviewmodel.Phone;
user_to_update.photo = path;
user_to_update.address = manageviewmodel.Address;
user_to_update.city = manageviewmodel.City;
user_to_update.postcode = manageviewmodel.PostCode;
user_to_update.district = manageviewmodel.District;
user_to_update.user_type = manageviewmodel.UserType;
user_to_update.status = manageviewmodel.Status;
db.SaveChanges();
return RedirectToAction("Manage");
}
}
return View(manageviewmodel);
}
다른 필드도 코딩했습니다. 그래서 그들과 함께 사진을 업로드하고 싶습니다. 이는 단일 버튼 클릭으로 발생한다는 것을 의미합니다.
여기 내 모델 클래스 (ManageViewModel.cs)
public class ManageViewModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public string Photo { get; set; }
public string Address { get; set; }
public string City { get; set; }
public int PostCode { get; set; }
public string District { get; set; }
public string UserType { get; set; }
public string Status { get; set; }
}
하지만이 한 장의 사진 업로드 부분에 대한
이 제대로 작동하지 않았다이다. 그래서 나는 이것을 어떻게 관리 해야할지 정말로 모른다.
후
user_to_update.photo
에이 무슨 참조하십시오try catch block
에 추가 및 디버그에서 코드를 실행할 수있다 데이터베이스의 해당 파일에 저장합니다. 그 맞습니까? 또한, "제대로 작동하지 않았다"는 것은 무엇을 의미합니까? 정확하게 작동하지 않은 것은 무엇이며 어떤 오류가 있었습니까? – squillman파일 입력은'name = "form-register-photo"입니다. 따라서 POST 메소드의 매개 변수는 - HttpPostedFileBase form-register-photo'와 일치해야합니다. –
오류가 없지만 해당 파일의 경로는 데이터 베이스. – Punya