博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通知浏览器下载文件,而不是直接打开下载
阅读量:4482 次
发布时间:2019-06-08

本文共 1083 字,大约阅读时间需要 3 分钟。

1 // 1.获取要下载的文件的绝对路径 2         String realPath = this.getServletContext().getRealPath("/download/泉州行政区图0.jpg"); 3         System.out.println(realPath); 4         // 2.获取要下载的文件名 5         String fileName = realPath.substring(realPath.lastIndexOf("\\") + 1); 6         // 3.设置content-disposition响应头控制浏览器弹出保存框,若没有此句则浏览器会直接打开并显示文件。中文名要经过URLEncoder.encode编码,否则虽然客户端能下载但显示的名字是乱码 7         response.setHeader("content-disposition", "attachment;filename=hehe" + URLEncoder.encode(fileName, "UTF-8")); 8         // 4.获取要下载的文件输入流 9         InputStream in = new FileInputStream(realPath);10         int len = 0;11         // 5.创建数据缓冲区12         byte[] buffer = new byte[1024];13         // 6.通过response对象获取OutputStream流14         OutputStream out = response.getOutputStream();15         // 7.将FileInputStream流写入到buffer缓冲区16         while ((len = in.read(buffer)) > 0) {17             // 8.使用OutputStream将缓冲区的数据输出到客户端浏览器18             out.write(buffer, 0, len);19         }20     }

此代码未经测试,只是转载分享http://www.cnblogs.com/z-sm/p/5467048.html

转载于:https://www.cnblogs.com/save-shengfei/p/6288610.html

你可能感兴趣的文章
cglib动态代理(即AOP)
查看>>
08 H5新增input元素
查看>>
linux中安装软件的集中方法
查看>>
Express中间件,看这篇文章就够了(#^.^#)
查看>>
《构建之法》(五)
查看>>
创建django项目
查看>>
Linux Bash基本功能
查看>>
一则小脚本(工作中用)
查看>>
软件工程结对作业
查看>>
Keil 4.0 生成bin文件
查看>>
sql语句的进化--hibernate篇
查看>>
python爬虫之cookie
查看>>
11.超市收银系统的项目
查看>>
2017年5月29号课堂笔记
查看>>
HDU4247【瞎搞】
查看>>
lightoj 1125【背包·从n个选m个】
查看>>
HDU 1243 反恐训练营(最长公共序列)
查看>>
mysql数据库隔离级别
查看>>
(六)buildroot使用详解
查看>>
chrome修改UserAgent,调试
查看>>