jeecgboot的文件下载
时间: 2023-08-08 16:12:40 浏览: 159
在JeecgBoot中,文件下载一般是通过后台接口实现的。具体步骤如下:
1. 在后台Controller中编写文件下载的接口方法,可以使用SpringMVC提供的ResponseEntity<byte[]>来实现。例如:
```
@GetMapping("/download/{fileName}")
public ResponseEntity<byte[]> downloadFile(@PathVariable("fileName") String fileName) throws IOException {
// 从服务器中获取文件的输入流
InputStream inputStream = new FileInputStream(new File("/path/to/file/" + fileName));
// 将文件的输入流转换为字节数组
byte[] bytes = IOUtils.toByteArray(inputStream);
// 设置响应头信息
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment", fileName);
// 返回字节数组和响应头信息
return new ResponseEntity<>(bytes, headers, HttpStatus.OK);
}
```
2. 在前端页面中使用JavaScript发起文件下载请求,可以使用window.open()方法来实现。例如:
```
function downloadFile(fileName) {
window.open("/api/download/" + fileName);
}
```
其中,/api/download/是后台Controller中文件下载接口的请求路径。
这样,当用户点击下载按钮时,就会调用downloadFile()方法发起文件下载请求,后台Controller会将文件的字节数组和响应头信息返回给浏览器,浏览器会自动弹出文件下载对话框,用户就可以选择保存文件到本地了。