返回文件接口_Java实现

    public ResponseEntity<byte[]> file() {
        String path = "C:\\Users\\Administrator\\Desktop\\result.pdf";
        File file = new File(path);
        try {
            byte[] fileBytes = Files.readAllBytes(file.toPath());

            HttpHeaders headers = new HttpHeaders();
            // 标识响应内容为 PDF 文件
            headers.setContentType(MediaType.APPLICATION_PDF);
            // "attachment" 表示响应内容将被视为附件,浏览器会将响应内容作为文件下载,并使用设置的文件名进行保存
            headers.setContentDispositionFormData("attachment", file.getName());
            // "inline" 表示在浏览器中显示文件内容,浏览器会根据文件类型自动选择合适的方式进行预览
            headers.setContentDispositionFormData("inline", file.getName());
            return new ResponseEntity<>(fileBytes, headers, HttpStatus.OK);
        } catch (IOException e) {
            log.error("文件读取异常", e);
            return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
        }
    }

接口返回类型使用ResponseEntity<byte[]>即可,postman测试看看效果

posted @ 2023-08-17 13:22  Ashe|||^_^  阅读(160)  评论(0编辑  收藏  举报