我正在研究一些ASP.NET MVC代码,它使用jQuery Forms插件来允许用户上传文件。
表格:
<% using (Html.BeginForm("SaveAttachments", "Data", FormMethod.Post, new { enctype = "multipart/form-data", id="SaveAttachments" })) {%>
<input type="file" name="consentform" size=30/>
<input type="file" name="infosheet" size=30/>
<input type="file" name="approval" size=30 />
<%} %>
使用带有Form插件的jQuery提交表单:
$('#SaveAttachments").ajaxSubmit({
success: function(html, status) {
$("#response").append(html);
}
});
它由控制器操作名称SaveAttachments:
处理public ActionResult SaveAttachments(HttpPostedFileBase consentform, HttpPostedFileBase infosheet, HttpPostedFileBase approval)
{
string message = SaveFiles(consentform, infosheet, approval)
return Content(message);
}
这种方法很有效,除非出现阻止控制器操作被调用的错误;特别是当文件大小太大并且抛出HttpException“超出最大请求长度”时。
我需要的是一种在发生此类错误时用适当的消息更新用户的方法。
我考虑过以下事项:
实现必要验证的最佳方法是什么,如果没有干净的方法是处理异常可接受的解决方法?
感谢。
修改
我已经减少到两个选项:
答案 0 :(得分:0)
你不能只使用jQuery的ajaxError函数吗? http://docs.jquery.com/Ajax/ajaxError#callback
此外,您可能希望更具体地了解您使用的是哪个插件。 ajaxSubmit()不是核心jquery。