jq的文件导出代码(上传文件,导出文件)

function submitDataCompared() {
        var RootPath = getRootPath();
        if ($('#dataCompared form').form('enableValidation').form('validate')) {
            var formData = new FormData($( "#hxform1" )[0]);
            console.log(formData)
            // formData.append("files",fileInputElement.files)
            var theScene = $('#dataCompared .theScene')[0].files,

                DDAll = $('#dataCompared .DDAll')[0].files,
                DDPunch = $('#dataCompared .DDPunch')[0].files;

                ajaxData={
                    'theScene':theScene,
                    'DDAll':DDAll,
                    'DDPunch':DDPunch
                },
                ajaxUrl = '/PC/ExportExcelController/workHoursCompared2';
                console.log(ajaxData)

            $.messager.confirm('确定提交', '您确定要“提交”嘛?', function(r) {
                if (r) {
                    // $('#dataCompared .submit').linkbutton('disable');
                    //下面处理数据
                    $.ajax({
                        url: RootPath + ajaxUrl,
                        type: "POST",
                        data: formData,
                        responseType:"Blob",
                        body:formData,
                        async:false,
                        cache:false,
                        contentType:false,
                        processData:false,
                        error : function(request) {
                            $.messager.alert("提示信息","发送请求失败!",'info',function(){
                                $('#dataCompared .submit').linkbutton('enable');
                            });
                            $(".messager-window .panel-tool-close").css("display","none");
                        },
                        beforeSend : function() {
                            $('<div class="loadingWrap1"></div>').appendTo("body");
                        },
                        success: function (req,res) {
                            var blob = new Blob([req], {
                                type: "application/OCTET-STREAM"}); //创建一个blob对象
                            var a = document.createElement('a'); //创建一个<a></a>标签
                            a.href = URL.createObjectURL(blob); // response is a blob
                            a.download = "考勤对比.xlsx";  //文件名称
                            a.style.display = 'none';
                            document.body.appendChild(a);
                            a.click();
                            a.remove();
                            // if (data.success) {
                            //     window.open(RootPath + '/PC/ExportExcelController/workHoursCompared2' );
                            //     $.messager.alert('提示信息',data.msg,'info',function() {
                            //         $('#addLoanPeople').window('close');
                            //         $('#dataCompared .submit').linkbutton('enable');
                            //         $('#FacilitiesDatagrid').datagrid('reload');
                            //     });
                            //     $(".messager-window .panel-tool-close").css("display","none");
                            // }else {
                            //     $.messager.alert('提示信息',data.msg,'info',function() {
                            //         $('#dataCompared .submit').linkbutton('enable');
                            //     });
                            //     $(".messager-window .panel-tool-close").css("display","none");
                            // }
                        },
                        complete : function() {
                            $(".loadingWrap1").remove();
                        }
                    });
                }
            });
        }
    }

如果不能实现,说明不支持jq请使用原生ajax

                var url = RootPath + ajaxUrl;
                    var xhr = new XMLHttpRequest();
                    xhr.open('post', url, true);    // 也可以使用POST方式,根据接口
                    xhr.responseType = "blob";  // 返回类型blob
                    // 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
                    xhr.onload = function () {
                        // 请求完成
                            // 返回200
                            var blob = this.response;
                            var reader = new FileReader();
                            reader.readAsDataURL(blob);  // 转换为base64,可以直接放入a表情href
                            reader.onload = function (e) {
                                // 转换完成,创建一个a标签用于下载
                                var a = document.createElement('a');
                                a.download = 'data.xlsx';
                                a.href = e.target.result;
                                $("body").append(a);  // 修复firefox中无法触发click
                                a.click();
                                $(a).remove();
                            }

                    };
                    // 发送ajax请求
                    xhr.send(formData)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值