MVC 4 ajax 양식을 사용하여 이미지를 추가하려고하지만 null 값을 반환합니다. 내 모델, 컨트롤러 및 뷰를 추가했습니다.MVC 4 ajax 양식 이미지 업로드 실패
내보기
@using (Ajax.BeginForm("Create", "Images", new AjaxOptions { HttpMethod = "Post", OnSuccess = "OnSuccess", OnFailure = "OnFailure", UpdateTargetId = "messageDiv" }, new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="editor-field">
@Html.LabelFor(model => model.Image.Description, new { @class = "control-label" })
<div class="controls">
@Html.TextBoxFor(model => model.Image.Description)
</div>
@Html.TextBoxFor(model => model.FileImage, new { type = "file" })
@Html.ValidationMessageFor(model => model.FileImage)
</div>...
}
내 모델
public class ImageViewModel
{
public IList<Image> Images { get; set; }
public Image Image { get; set; }
public HttpPostedFileBase FileImage { get; set; }
}
이 예에서 내 컨트롤러
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(ImageViewModel model, HttpPostedFileBase FileImage)
{
if (ModelState.IsValid)
{
var x = FileImage.FileName;
var imageUrl = Path.GetFileName(model.FileImage.FileName);
...
}
}
, I FileName을 가져올 수 없습니다. 항상 널값을 리턴합니다. 이 문제를 해결하도록 도와 주시겠습니까? 나는 매우 기쁠 것이다. 나는 모델이 결합하는 것을 시도의 요청 intead를 사용하여 이미지를 읽을 선호
당신은 Ajax.BeginForm를 사용하여 파일을 업로드 할 수 없습니다. http://stackoverflow.com/questions/8499748/mvc3-file-upload-using-ajax-form-request-files-empty – Dave
대단히 감사합니다. – koirene