web导出文件核心代码实例
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇内容主要讲解"web导出文件核心代码实例",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"web导出文件核心代码实例"吧!前端代码1.可直接写:locat
千家信息网最后更新 2025年01月23日web导出文件核心代码实例
本篇内容主要讲解"web导出文件核心代码实例",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"web导出文件核心代码实例"吧!
前端代码
1.可直接写:location.href = "后台请求地址"
2.用XMLHttpRequest形式(ajax axios fetch):
axios({ url: url, params: parameter, method:'get' , responseType: 'blob' }).then(data=>{ if (!data) { alert("文件下载失败") return } if (typeof window.navigator.msSaveBlob !== 'undefined') { //处理IE window.navigator.msSaveBlob(new Blob([data]), fileName+'.xls') }else{ let url = window.URL.createObjectURL(new Blob([data])) let link = document.createElement('a') link.style.display = 'none' link.href = url link.setAttribute('download', fileName+'.xls') document.body.appendChild(link) link.click() document.body.removeChild(link); //下载完成移除元素 window.URL.revokeObjectURL(url); //释放掉blob对象 }})
后台代码
//从服务器上下载文件核心代码 response.setContentType("application/x-msdownload;charset=utf-8"); String fileName="中文文件名.xls"; String userAgent = request.getHeader("user-agent").toLowerCase(); if (userAgent.contains("msie") || userAgent.contains("like gecko") ) { fileName = URLEncoder.encode(fileName, "UTF-8"); }else { fileName = new String(fileName.getBytes("UTF-8"), "iso-8859-1"); } response.setHeader("Content-disposition", "attachment; filename="+ fileName); InputStream inputStream = null; OutputStream outputStream=null; try { String imgurl = "服务器上的文件实际地址"; inputStream = new BufferedInputStream(new FileInputStream(imgurl)); outputStream = response.getOutputStream(); byte[] buf = new byte[1024]; int len; while ((len = inputStream.read(buf)) > 0) { outputStream.write(buf, 0, len); } response.flushBuffer(); } catch (Exception e) { logger.info("--通过流的方式获取文件异常--"+e.getMessage()); }finally{ if(inputStream!=null){ inputStream.close(); } if(outputStream!=null){ outputStream.close(); } }
//导出excel //此处省略 生成workbook的代码 String fileName = "登记发证统计.xls"; String userAgent = req.getHeader("user-agent").toLowerCase(); if (userAgent.contains("msie") || userAgent.contains("like gecko") ) { fileName = URLEncoder.encode(fileName, "UTF-8"); }else { fileName = new String(fileName.getBytes("UTF-8"), "iso-8859-1"); } // 设置强制下载不打开 resp.setContentType("application/force-download"); resp.setHeader("Content-disposition", "attachment; filename="+ fileName); OutputStream out = resp.getOutputStream(); workbook.write(out); resp.flushBuffer();
生成workbook的示例
到此,相信大家对"web导出文件核心代码实例"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
文件
代码
核心
UTF-8
实例
内容
后台
地址
实际
服务器
学习
服务
生成
实用
更深
上下
元素
兴趣
前端
实用性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
移动公司软件开发工资多少钱
富士康软件开发的面试
科技局互联网监管工作总结
来料加工贸易软件开发价格
服务器 web 签章
软件开发人员未来趋势
腾讯云服务器文件在线查看
捍生互联网科技
智巢网络技术有限公司
日本服务器性能
河北餐饮软件开发哪家快
网络安全教育宣传内容
17个数据库技术
最终幻想14数据库
南京中国网络技术有限公司
steam连接游戏服务器错误
浙江北斗时钟服务器时间同步
护苗网络安全课二
易语言代理服务器
网络安全整改回函
谷歌服务器什么时候上线
无纸化会议文件管理服务器
广州玄极智慧网络技术有限公司
软件开发时需求分析的工具
网络安全需求表
网络安全领域的认证
软件开发开发模式
ins网络安全
数据库字段命名可以是关键字吗
pc股票软件开发