Ajax 异步上传文件
2017-03-13 18:05 taozsay 阅读(292) 评论(0) 编辑 收藏 举报需要引用js jquery.form
前端代码
<form action="/Save" id="mainForm" method="post" enctype="multipart/form-data"> <div class="portlet-body form-horizontal form-bordered form-row-stripped"> <div class="row-fluid"> <div class="control-group"> 导入文件:<input type="file" name="FilePath" class="file" id="fileField"> </div> </div> </div> <div class="form-actions navbar-fixed-bottom"> <button id="submit" type="submit" class="btn blue"><i class="icon-ok"></i>提交</button> </div> </form> <script src="/Content/Scripts/jquery.form.js"></script> <script> $(function() { $("#mainForm").attr("enctype", "multipart/form-data"); $("#fileField").on("change", function() { $("#mainForm").attr("action", "/ImportFile"); $('form').ajaxSubmit({ success: function(data) { if (data) { //todo } else { alert("解析文件异常,请检查上传文件"); } $("#mainForm").attr("action", "/Save"); }, }); }); }); </script>
后端代码
[HttpPost] public JsonResult ImportFile(FormCollection collection) { object model = null; try { HttpPostedFileBase fostFile = Request.Files["FilePath"]; Stream streamfile = fostFile.InputStream; var reader = new StreamReader(streamfile); string text = reader.ReadToEnd();
//解析文件,文件内容是XML model = XmlHelper.XmlDeserialize<Model>(text, Encoding.UTF8); } catch (Exception ex) { throw new Exception(); } return Json(model, JsonRequestBehavior.AllowGet); }
这样上传文件的问题就解决了。
作者:taoz
出处:www.cnblogs.com/bigbrid
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
本文如对您有帮助,还请多帮 【推荐】 下此文。
如果喜欢我的文章,请关注我的公众号