SpringMVC实现文件下载功能

1、文件下载

使用ResponseEntity实现下载文件的功能

/**
     * 使用ResponseEntity实现下载文件的功能
     * @param session
     * @return
     * @throws IOException
     */
    @RequestMapping("/testDown")
    public  ResponseEntity<byte[]> testResponseEntity(HttpSession session) throws IOException {
        //获取ServletContext对象
        ServletContext servletContext = session.getServletContext();
        //获取服务器中文件的真实路径
        String realPath = servletContext.getRealPath("/static/img/yw.mp4");
        //创建输入流
        InputStream is = new FileInputStream(realPath);
        //创建字节数组
        //is.available() is字节流对应的所有字节数
        byte[] bytes = new byte[is.available()];
        //将流读到字节数组中
        is.read(bytes);
        //创建HttpHeaders对象设置响应头信息
        MultiValueMap<String, String> headers = new HttpHeaders();
        //设置要下载方式以及下载文件的名字
        headers.add("Content-Disposition", "attachment;filename=yw.mp4");
        //设置响应状态码
        HttpStatus statusCode = HttpStatus.OK;
        //创建ResponseEntity对象
        ResponseEntity<byte[]> responseEntity = new ResponseEntity<byte[]>(bytes, headers, statusCode);
        //关闭输入流
        is.close();
        return responseEntity;
    }

文件上传请转
https://www.cnblogs.com/MrDing99/articles/16050312.html

posted on 2022-03-24 16:28  忧郁的驴  阅读(601)  评论(0)    收藏  举报