前後端分離時導入excel

前後端分離時導入excel
前端頁面:
 

<form action="" method="post" class="form form-horizontal" enctype="multipart/form-data" id="form-duty-upload">
    <div id="tab-category" class="HuiTab">
        選擇文件:
        <span class="btn-upload form-group">
          <input class="input-text upload-url radius" type="text" name="uploadfile-1" id="uploadfile-1" readonly><a href="javascript:void();" class="btn btn-primary radius"><i class="Hui-iconfont">&#xe642;</i> 瀏覽文件</a>
          <input type="file" multiple name="file" id="file" class="input-file">
        </span>
        <p style="color: red;">上傳的文件必須解密,不然會出現導入失敗</p>
        <div class="row cl">
            <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
                <input class="btn btn-primary radius" type="submit" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">
            </div>
        </div>
    </div>
</form>


前端js:
 


$("#form-duty-upload").validate({
    onkeyup:false,
    focusCleanup:true,
    success:"valid",
    submitHandler:function(form){
        var uploadFile = new FormData($("#form-duty-upload")[0]);
        uploadFile.enctype="multipart/form-data";
        var controlType = parent.$("#controlType_hide").val()
        uploadFile.append("controlType",controlType);
        var addDicParam = {
            url:ss.urlMapping['UPLOADDATA'],
            param: uploadFile,
            callback:function(data){
                var code = data.returnCode;
                if(code == '1'){
                    var index = parent.layer.getFrameIndex(window.name);
                    parent.$('#search_btn').click();
                    parent.layer.close(index);
                }else{
                    $.Huimodalalert(data.data,4000);
                }
            },
            errCallback: function () {
                $.Huimodalalert('導 入 信  息 失 敗',2000);
            }
        }
        ss.upload(addDicParam);
    }
});


ss.upload方法:

ss.upload = function(params){

    console.info(params.param);
    return $.ajax({
        type: "POST",
        url: params.url,
        cache: false,
        data: params.param,
        processData: false,
        contentType: false,
        dataType:"json",
        /*enctype:"multipart/form-data",*/
        success: function (data) {
            if(data.returnCode == '401' || data.returnCode == '403'){
                    location.href="/";
                    return null;
            }else{
                if (undefined !== params.callback) {
                    params.callback(data);
                }
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            if (params.errCallback) {
                params.errCallback(XMLHttpRequest, textStatus, errorThrown);
            }else{
                var errorMsg = "網絡異常,請重新進入";
                alert(errorMsg);
            }
        }
    });
};

後臺java代碼:

@RequestMapping(value = "import")

@ResponseBody
public ResultMsg<Object> importDuty(@RequestParam("file") MultipartFile file, HttpServletRequest request){
    long createdBy = (long)request.getSession().getAttribute("CURRENT_USER");
    ResultMsg<Object> rs = new ResultMsg<Object>();
    boolean a = false;
    String fileName = file.getOriginalFilename();
    try {
        a = driverBenefitService.batchImport(fileName, file, createdBy);
        rs = ResultMsg.returnMsgSuccess("文件導入成功");
    } catch (Exception e) {
        e.printStackTrace();
        logger.error(e.getMessage());
        rs = ResultMsg.returnMsgFail(e.getMessage());
    }
    return rs;
}

 

作者:若往夕之
來源:CSDN
原文:https://blog.csdn.net/java_chegnxuyuan/article/details/94734833
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章