15年软件开发经验 只做源码定制 互联网+定制化解决方案

15年软件开发经验,只做源码定制!

原创设计 定制开发

满足您的个性化需求

当前位置:首页 后端开发 java

SpringBoot后端接收前端传来的list数据集

庞凯博| 发布于 2021-11-06 23:48:53| 142阅读| 0点赞| 0评论
举报

在日常开发中,我们的需求需要实时动态数据,导出的表格、文件、Word、Excel等实时数据文件

前端请求代码:代码为项目源代码不要使用原生$.ajax({}),不支持,深入,请自行百度

 axios({
                method: 'post',
                headers: {
                    'Content-Type': 'application/json; charset=utf-8',
                    'Authorization': loginToken
                },
                url: 'http://localhost:8080/download',
                responseType: 'blob',
                dataType: "application/json",
                /*headers: { //如果需要权限下载的话,加在这里
                    'Authorization': loginToken
                },*/
            data: jsON.stringify(objects), //这里对应@RequestBody,不懂自行百度
            }).then(function (res) {
                var content = res.headers['content-disposition'];
                var name = content && content.split(';')[1].split('filename=')[1];
                var fileName = decodeURIComponent(name)
                //console.log(res)
                 var blob = new Blob([res.data]);
                var downloadElement = document.createElement('a');
                var href = window.URL.createObjectURL(blob);
                downloadElement.href = href;
                downloadElement.download = fileName;
                document.body.appendChild(downloadElement);
                downloadElement.click();
                document.body.removeChild(downloadElement);
                window.URL.revokeObjectURL(href);
            })

后端接收数据并放回文件流代码:

@RequestMapping(value = "/update", method = RequestMethod.POST)
@ResponseBody
public jsONResult update(@RequestBody List,Response rsp) {
     //接收数据并返回对应文件格式流,略
      //告诉浏览器以啥样的方式下载
     rsp.setHeader("content-disposition", "attachment;filename="+file.getName());
   rsp.getOutputStream().write();                                                              
     return jsONResult.ok();
}
0

0条评论

别默默看啦~登录/注册一起参与讨论吧~

热门标签

庞凯博
微信扫一扫立即咨询
账号登录|扫码登录

立即注册 |忘记密码?

欢迎注册

已有账号马上登录

重置密码

扫码绑定微信
微信扫一扫

绑定手机号

分享到-微信

举报

  • 举报类型:

  • 举报描述:

您好,当前积分不足。

在线客服
拨打电话
17330196230 13230981129
顶部