zoukankan      html  css  js  c++  java
  • Ajax 异步上传文件

    需要引用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); }

    这样上传文件的问题就解决了。

  • 相关阅读:
    有个表叫杨表(上)
    Codeforces Round #698 (Div. 2) 题解 全部6题
    Leetcode 821. 字符的最短距离
    gitbook mermaid不能渲染问题
    adb命令启动app及查找系统版本号
    git库使用
    excle转html方法
    gitbook插入视频
    xcode使用技巧
    在 Mac 上的“自动操作”工作流程中使用 Shell 脚本操作
  • 原文地址:https://www.cnblogs.com/bigbrid/p/6544282.html
Copyright © 2011-2022 走看看