Asp.net mvc 文件上载未按预期工作
我正在尝试从我的应用程序上载一个文件,但它没有按预期工作。我没有在action方法中获取任何文件 我的viewmodel如下所示Asp.net mvc 文件上载未按预期工作,asp.net-mvc,razor,Asp.net Mvc,Razor,我正在尝试从我的应用程序上载一个文件,但它没有按预期工作。我没有在action方法中获取任何文件 我的viewmodel如下所示 public class CallQueryViewModel { [Display(Name = "Attachment")] public HttpPostedFileBase UploadFile { get; set; } } 我的剃须刀形状如下 @{ var ajaxOptions = new Aja
public class CallQueryViewModel
{
[Display(Name = "Attachment")]
public HttpPostedFileBase UploadFile { get; set; }
}
我的剃须刀形状如下
@{
var ajaxOptions = new AjaxOptions
{
HttpMethod = "POST",
OnBegin = "onCallAddBegin",
OnSuccess = "OnCallCreateSuccess",
OnFailure = "OnCallCreateFailure"
};
}
@using (Ajax.BeginForm("AddCall", "CallHandling", ajaxOptions, new { @id = "CallAddForm", enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="row">
<div class="col-md-6">
<div class="form-group">
@Html.LabelFor(model => model.UploadFile, new { @class = "col-md-2" })
@Html.TextBoxFor(model => model.UploadFile, new { @class = "col-md-10", type="file" })
</div>
</div>
</div>
<div id="Submit">
<input type="submit" value="Save" class="btn btn-success" />
</div>
}
使用上面的代码,当我尝试上载文件时,我没有收到任何文件到控制器操作方法中。上载文件始终为空
有人能告诉我我遗漏了什么吗?你不能通过AJAX上传文件,已经讨论过很多次了。使用常规HTML表单、jQuery插件或只搜索类似问题。您可以序列化表单并通过ajax@Zabavsky谢谢我不知道你能用Ajax上传文件。我使用了jquery表单插件,它工作得非常好。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult AddCall(CallQueryViewModel model)
{
if ((model.UploadFile != null) && (model.UploadFile.ContentLength > 0))
{
// Upload file.
}
}