思路:先创建文件存在项目一个地方,在配置response信息,再循环取出流中的数据,最后删除存的文件

注意:在前台请求的时候,只能是form表单请求,或者用window.open的方式,最后我采用了window.open的方式

核心代码:

 InputStream inStream = new FileInputStream(file);response.setContentType("application/ms-excel;charset=UTF-8");response.setHeader("Content-Disposition","attachment;filename="+setFileDownloadHeader(request, realFileName));// 循环取出流中的数据byte[] b = new byte[1024];int len;while ((len = inStream.read(b)) > 0) {response.getOutputStream().write(b, 0, len);}inStream.close();response.getOutputStream().close();public static String setFileDownloadHeader(HttpServletRequest request, String fileName)throws UnsupportedEncodingException {final String agent = request.getHeader("USER-AGENT");String filename = fileName;if (agent.contains("MSIE")) {// IE浏览器filename = URLEncoder.encode(filename, "utf-8");filename = filename.replace("+", " ");} else if (agent.contains("Firefox")) {// 火狐浏览器filename = new String(fileName.getBytes(), "ISO8859-1");} else if (agent.contains("Chrome")) {// google浏览器filename = URLEncoder.encode(filename, "utf-8");} else {// 其它浏览器filename = URLEncoder.encode(filename, "utf-8");}return filename;}

Java实现浏览器下载文件相关推荐

  1. java用浏览器下载文件_JAVA读取文件流,设置浏览器下载或直接预览操作

    最近项目需要在浏览器中通过url预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...

  2. java实现浏览器下载文件,并解决兼容各浏览器的乱码与后缀问题

    之前用java写了一个文件流输出文件的功能,测试细节功能的时候,发现了许多问题 查看全文 http://www.taodudu.cc/news/show-5776243.html 相关文章: linu ...

  3. java安卓浏览器下载文件,JAVA实现文件下载,浏览器端得到数据没反应解决方案

    JAVA实现文件下载,浏览器端得到数据没反应 代码如下 public void doPost(HttpServletRequest request, HttpServletResponse respo ...

  4. java中浏览器下载文件_浏览器下载java项目中的文件

    有一些文件保存在项目中需要在浏览器打开的页面中下载,需要找准文件的存储路径 工程格式 2.代码 public String execute() throws Exception { HttpServl ...

  5. springboot Java实现多文件的zip压缩操作 + 通过浏览器下载文件的两种方式

    注只适配utf-8的场景,待完善! 压缩为zip文件 通过java程序输出文件 /*** 功能:压缩多个文件成一个zip文件* @param srcfile:源文件列表* @param zipfile ...

  6. Java实现FTP下载文件到客户端(浏览器)

    目录 一.简介 二.maven依赖 三.配置类 四.工具类 4.1.服务器文件名中文处理 4.2.下载文件名中文处理 五.接口验证 一.简介   我在之前的文章(Java实现文件上传和下载)里讲过非F ...

  7. Java 浏览器下载文件及文件预览

    插曲想记录一下,以后可以来粘贴复制用 一>浏览器下载文件 setContentType() 该实体头的作用是让服务器告诉浏览器它发送的数据属于什么文件类型. 没有缓存 response.addH ...

  8. 解决浏览器下载文件时中文文件名乱码的问题

    解决浏览器下载文件时中文文件名乱码的问题 很多时候我们需要在后台为前端提供文件下载的功能,但是当文件名中有中文时我们不能直接将文件名返回,需要对中文的文件名进行处理后再返回. 一.文件下载contro ...

  9. 使用IE浏览器下载文件,文件名乱码问题

    实现文件下载功能时,使用IE下载出现文件名乱码不能通过以下方式判断了 if (req.getHeader("user-agent").toLowerCase().contains( ...

  10. Springboot实现浏览器下载文件

    public void getUnbondFile(HttpServletResponse response) throws FileNotFoundException, UnsupportedEnc ...

最新文章

  1. 深度抠图--Deep Image Matting
  2. python评分卡建模-实现WOE编码及IV值计算
  3. 《深度探索C++对象模型》--5 构造析构拷贝 6 执行期语意学
  4. linux系统找回数据,Linux系统上面误删的数据找回
  5. .net 2005大写html标签 xhtml10,HTML10.ppt
  6. Silverlight 里如何实现隐式样式,ImplicitStyleManager 的实现思想
  7. Centos7,配置防火墙,开启端口
  8. 关于json包爆红我有话说
  9. 光纤光信号闪红灯_电信光纤光猫光信号闪红灯怎么处理
  10. c语言链表做歌手比赛系统,大型实验报告(歌手比赛系统)
  11. Ubuntu16.04下完美切换Python版本
  12. Excel高级使用技巧汇总
  13. c# chart 各个属性_C# Chart各个属性详细解析、应用
  14. 免费的虚拟主机 000webhost
  15. Java中的正则表达式 regex
  16. python+selenium+chrome实现淘宝购物车秒杀自动结算
  17. 《嵌入式 - 疑难杂症(工具篇)》 J-link下载提示错误:The firmware of the connected J-Link ...@0x02000004
  18. FPGA 电路开发入门实验
  19. win10安装,ERROR:0x8007025D问题解决
  20. 算法岗面经总结(星环科技)

热门文章

  1. C#开发中三层架构BLL,DAL还有IBLL和IDAL接口,请问为什么要定义接口?有什么用啊?
  2. 更换光猫后网速变慢的解决办法
  3. numpy不对等切分数组
  4. 微信小程序网易云音乐获取视频列表数据(需要登录获取携带cookie)
  5. 百度地图api之路线规划
  6. mysql评论回复表设计_数据库设计——评论回复功能
  7. HDU - 6070
  8. 数藏2.0故事中,元境开启“元宇宙丝绸之路”
  9. oracle拆分分区语法详解大全_Oracle分区表详解
  10. ORACLE 数据泵之NETWORK_LINK