我正在處理一個簡單的表單,用戶將輸入一些數據並選擇要上傳的文件。 但我不能得到這個工作.. 由於某種原因,當我點擊保存,文件不會去控制器。無法上傳文件/圖像
這是一些代碼。
@using (Ajax.BeginForm("Add", "Category", null, new AjaxOptions
{
UpdateTargetId = "upload-message",
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
OnSuccess = "uploadSuccess"
}, new { id = "AddCategoryForm", enctype = "multipart/form-data" }))
{
<div class="editorLabel">
@Html.LabelFor(m=>m.CategoryName)
</div>
<div class="editorText">
@Html.TextBoxFor(m=>m.CategoryName)
</div>
<div class="editorLabel">
@Html.LabelFor(m => m.Description)
</div>
<div class="editorText">
@Html.TextAreaFor(m => m.Description)
</div>
<div class="editorLabel">
@Html.LabelFor(m => m.IconPath)
</div>
<div class="editorText">
<input type="file" id="file" name="file" />
</div>
<div class="editorLabel">
@Html.LabelFor(m => m.IsActive)
</div>
<div class="editorText">
@Html.CheckBoxFor(m=>m.IsActive)
</div>
<p>
<input type="submit" id="submit" value="Save" />
</p>
}
控制器:
[HttpPost]
public ActionResult Add(HttpPostedFileBase file,CategoryViewModel model)
{
if (ModelState.IsValid)
{
System.IO.FileInfo info = new FileInfo(file.FileName);
string ext = info.Extension;
//other code
}
}
在這裏的控制器,文件始終爲空。 我在哪裏做錯了?
使用ajax檢查文件上傳的答案[this](http://stackoverflow.com/questions/4856917/jquery-upload-progress-and-ajax-file-upload/4943774#4943774)。 –