SpringMVC框架-21:文件下载
2019-05-30 12:39
120 查看
第一步:前端发送请求
[code]<a href="${pageContext.request.contextPath}/download/timg.jpg">下载文件</a>
第二步:后端接收并处理
[code]@Controller public class FileController { @RequestMapping("/download/{fileName:.+}") public ResponseEntity download(@PathVariable String fileName, HttpSession session) throws IOException { System.out.println("来到了,文件名为:"+fileName); //获取文件的真实路径 ServletContext servletContext = session.getServletContext(); String realPath = servletContext.getRealPath("/download/"+fileName); //将文件读取到程序中 FileInputStream io = new FileInputStream(realPath); //创建一个数组,并且数组的大小就是文件的大小 byte[] bytes = new byte[io.available()]; io.read(bytes); //创建响应头并设置响应头信息,告诉浏览器是以什么形式进行操作这个文件,并且可以设置文件名称和状态码等 fileName = URLEncoder.encode(fileName,"UTF-8"); HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.add("Content-Disposition","attachment;filename="+fileName);//告诉浏览器以附件的形式下载 //真正把响应头设置好的信息写给浏览器 ResponseEntity<byte[]> responseEntity = new ResponseEntity<>(bytes,httpHeaders, HttpStatus.OK); return responseEntity; } }
注意:这里有一个问题没有解决,如果是中文文件,目前还是没有解决乱码问题,会导致找不到文件,应该是哪一个位置的编码设置问题,另外这里是通过restful风格接收参数的
相关文章推荐
- 在SpringMVC框架中实现文件上传和下载
- SpringMVC框架(四)文件的上传下载,上下文路径
- springmvc文件上传下载简单实现案例(ssm框架使用)
- 框架学习之springMvc整合框架-02文件上传、下载、国际化、拦截器、异常框架
- SSM框架-SpringMVC 实例文件上传下载
- SpringMVC框架实现文件、资源的上传和下载
- java文件上传与下载(springmvc框架下)及enctype=”multipart/form-date导致的中文乱码的解决
- 利用SpringMVC框架提供的方法,做文件上传和下载操作
- springmvc框架的文件上传下载工具类
- SSM框架-SpringMVC 实例文件上传下载
- springmvc文件上传下载简单实现案例(ssm框架使用)
- SSM框架-SpringMVC 实例文件上传下载
- 在SpringMVC框架下实现文件的上传和下载示例
- springmvc文件上传下载简单实现案例(ssm框架使用)
- JavaEE框架——Springmvc入门(注解URL核心类详解、文件上传和下载)、和Spring的整合
- 使用springMVC框架实现文件下载
- 基于springMvc框架下的文件下载
- SSM框架-SpringMVC 实例文件上传下载
- 【框架学习】SpringMVC上传下载文件
- springmvc文件上传下载简单实现案例(ssm框架使用)