返回文件接口_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测试看看效果