java 下载文件
来源:互联网 发布:settime js 编辑:程序博客网 时间:2024/06/06 05:18
前台传过来文件路径,从后台获取文件
后台代码
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.File; import java.io.FileInputStream; import java.io.BufferedInputStream; import java.io.OutputStream; import java.io.BufferedOutputStream; @ResponseBody @RequestMapping(value = "app/file") public void getFile(String fileurl, HttpSession session, HttpServletResponse response) throws IOException { String basePath = session.getServletContext().getRealPath("/"); // 获取基本路径 if (null!==fileurl && !fileurl.equals("")) { /* 第一步:根据文件路径获取文件 */ File file = new File(basePath + fileurl); if (file.exists()) { // 文件存在 /* 第二步:根据已存在的文件,创建文件输入流 */ InputStream inputStream = new BufferedInputStream(new FileInputStream(file)); /* 第三步:创建缓冲区,大小为流的最大字符数 */ byte[] buffer = new byte[inputStream.available()]; // int available() 返回值为流中尚未读取的字节的数量 /* 第四步:从文件输入流读字节流到缓冲区 */ inputStream.read(buffer); /* 第五步: 关闭输入流 */ inputStream.close(); String fileName = file.getName();// 获取文件名 response.reset(); response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "iso8859-1")); response.addHeader("Content-Length", "" + file.length()); /* 第六步:创建文件输出流 */ OutputStream outputStream = new BufferedOutputStream(response.getOutputStream()); response.setContentType("application/octet-stream"); /* 第七步:把缓冲区的内容写入文件输出流 */ outputStream.write(buffer); /* 第八步:刷空输出流,并输出所有被缓存的字节 */ outputStream.flush(); /* 第九步:关闭输出流 */ outputStream.close(); } //end if (file.exists()) } else { return; } }
前台测试
测试结果
0 0
- java下载文件
- java 文件下载
- java 文件下载
- java下载文件
- java实现文件下载
- java 文件下载
- Java文件下载
- Java 网络文件下载
- java文件下载
- java 文件下载疑问
- java 文件下载 详解
- java文件下载
- Java 下载文件
- java 下载文件
- Java文件下载相关
- 文件下载(java) android
- java 文件下载
- java 文件下载
- C# sql server
- RSA非对称加密方案
- maven的pom.xml的配置文件说明
- Android Studio 集成git上传项目至GitHub
- 普及练习场之排序Ex
- java 下载文件
- 【常见面试算法题】之二分搜索
- 实现控件拖动
- LeetCode 34 Search for a Range
- hadoop常用算法在spark中实现
- GCC Compile and Link options
- 【video】主流流媒体服务器介绍
- 获取ip地址
- jdk1.8中ConcurrentHashMap的实现原理