数据导入

小言_互联网的博客

js 上传文件

326人阅读  评论(0)

因为后台添加了token身份验证 直接使用 upload 不能携带头部,从网上找了些例子 写了一个

html是这样的

                            <a href="javascript:;" class="leadIn" οnclick="importData()">数据导入</a>
                            <input type="file" accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" style="display:none" id="fileUpload" />

js部分这样的

function CommonUpload(type, url, token, data, fun) {
    timestamp = gettimestamp(),
    nonce = getnonce(8);
    //signature1=getSign(timestamp,nonce,token,json);
    $.ajax({
        headers: {
            timestamp1: timestamp,
            nonce1: nonce,
            //signature:signature1,
            SignToken: token
        },
        type: type,
        url: url ,
        contentType: false,
        processData: false,
        data: data,
        success: function (data) {
            fun(data);
        },
    });
}


 //导入数据----------------start----------------------
    function importData() {
        $("#fileUpload").trigger("click");
    }
    //监听upload
    document.getElementById("fileUpload").addEventListener("change", function () {
        onchange();
    });
    function onchange() {
        var files = document.getElementById("fileUpload").files;
        var data = new FormData();
        if (files.length < 1) {
            return
        }
        for (var i = 0; i < files.length ; i++) {
            data.append(files[i].name, files[i]);
        }
        CommonUpload("post", url + "trastation/import", token, data, function (data) {
            if (!data.success) {
                alert(data.msg);
            }
        });
    }
    //导入数据-----------------------end-----------------------------

C#后台接收

 public IHttpActionResult ImportData()
        {
            HttpFileCollection files = HttpContext.Current.Request.Files;
            if (files.Count < 1)
            {
                return Ok(new ReturnModel(false, "未接收到文件"));
            }
            var fileName = files[0].FileName;
            //if (!fileName.EndsWith(".xls"))
            //{
            //    return Ok(new ReturnModel(false, "请上传xls文件"));
            //}
            var dataTable = NPOIHelper.ImportExceltoDt(files[0].InputStream);
}

 


转载:https://blog.csdn.net/weixin_37986763/article/details/102490026
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场