Java WEB 文件下载
来源:互联网 发布:js读取ajax返回的json 编辑:程序博客网 时间:2024/05/16 09:37
现在要做一个基于springMVC的文件下载功能,直接用
<a href="文件路径"></a>的方式进行操作效果不好
不好在什么地方呢
就是点击链接之后,如果是一个文本文件,那么就自动打开了,而不是下载,如果是图片也是一样,是打开而不是下载操作
那么怎么办呢,经过研究,文件下载其实就是一个请求,通过response响应来实现文件下载。
以下是通过二进制流的形式实现的文件下载,进行了注释,自行参照
/** * 下载文件 */@RequestMapping(value="downLoadFile")public void downLoadFile(ReimFjInfo reimFjInfo,HttpServletRequest request,HttpServletResponse response){log.info("下载文件");//以二进制流的形式进行文件下载try {String fileName=new String(request.getParameter("fjName").getBytes("ISO-8859-1"),"UTF-8");//获得文件信息File downFile = new File(reimFjInfo.getFjUrl());//获得文件的字节输入流InputStream bufferStream = new BufferedInputStream(new FileInputStream(downFile));byte[] buffer = new byte[bufferStream.available()];bufferStream.read(buffer);bufferStream.close();response.reset();//设置response的Header,需要设定文件名称,该文件名称即为下载文件时候显示的文件名称response.setHeader("Content-disposition", "attachment;filename="+new String(fileName.getBytes("gb2312"), "ISO8859-1" ));//不确定文件类型的时候,contentType就用以下形式,这是.*( 二进制流,不知道下载文件类型)response.setContentType("application/octet-stream");//获得response的字节输出流OutputStream out = new BufferedOutputStream(response.getOutputStream()); out.write(buffer); out.flush(); out.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
1 0
- Java web 文件下载
- Java web----文件下载
- Java WEB 文件下载
- java web文件下载
- Java Web文件下载
- java web 文件下载
- java web-文件下载
- java web-文件下载
- Java Web文件下载
- java web 下载文件
- java web 文件下载
- JAVA web- 文件下载
- java web 文件下载
- java web项目文件下载
- JAVA WEB 批量文件下载
- java web 下载文件(javaee)
- java web下载文件功能
- java web下载 Excel文件
- gcd 发生死锁的一种情况
- 【Leetcode Algorithm】Happy Number
- Windows 命令脚本
- Contains Duplicate II
- quick-cocos2d-x 3.3 配置开发环境
- Java WEB 文件下载
- 前端开发总结
- 内网邮箱服务器
- 欢迎使用CSDN-markdown编辑器
- TCP 的那些事儿
- Zend Studio 如何配置本地apache服务器使用xdebug调试php脚本
- 【Leetcode Algorithm】Palindrome Number
- SAT填空题备考建议和答题步骤
- C# 标识类