关于spring-mvc:SpringMVC实现下载功能

0次阅读

共计 735 个字符,预计需要花费 2 分钟才能阅读完成。

@RequestMapping("/test/down")
    public ResponseEntity<byte[]> testResponseEntity(HttpSession session) throws IOException {
        // 获取 ServletContext 对象
        ServletContext servletContext = session.getServletContext();
        // 获取服务器中文件的实在门路
        String realPath = servletContext.getRealPath("/static/img/123.jpg");
        // 创立输出流
        InputStream is = new FileInputStream(realPath);
         // 创立字节数组
        byte[] bytes = new byte[is.available()];
        // 将流读到字节数组中
        is.read(bytes);
        // 创立 HttpHeaders 对象设置响应头信息
        MultiValueMap<String, String> headers = new HttpHeaders();
        // 设置要下载方式以及下载文件的名字
        headers.add("Content-Disposition","attachment;filename=1.jpg");
        // 设置响应状态码
        HttpStatus statusCode = HttpStatus.OK;
        // 创立 ResponseEntity 对象
        ResponseEntity<byte[]> responseEntity = new ResponseEntity<>(bytes, headers,statusCode);
        // 敞开输出流
        is.close();
        return responseEntity;
    }
正文完
 0