jeecgboot文件上传和下载
时间: 2023-09-21 16:12:37 浏览: 525
对于JeecgBoot框架,文件上传和下载可以通过以下步骤实现:
1. 文件上传:
- 创建一个文件上传的接口,可以使用Spring MVC的注解 `@PostMapping`。
- 在接口方法中,使用@RequestParam注解获取上传的文件。
- 使用Apache Commons IO或其他文件操作库将文件保存到指定的目录。
例如:
```java
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
if (!file.isEmpty()) {
try {
String fileName = file.getOriginalFilename();
// 指定保存的目录
String filePath = "path/to/save/directory/" + fileName;
File dest = new File(filePath);
file.transferTo(dest);
return "上传成功!";
} catch (IOException e) {
e.printStackTrace();
return "上传失败!";
}
} else {
return "上传的文件为空!";
}
}
```
2. 文件下载:
- 创建一个文件下载的接口,可以使用Spring MVC的注解 `@GetMapping`。
- 在接口方法中,使用`HttpServletResponse`对象将文件写入响应流。
例如:
```java
@GetMapping("/download")
public void downloadFile(HttpServletResponse response) {
try {
// 指定要下载的文件路径
String filePath = "path/to/download/file";
File file = new File(filePath);
if (file.exists()) {
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" + file.getName());
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
OutputStream os = response.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = bis.read(buffer)) > 0) {
os.write(buffer, 0, len);
}
os.flush();
bis.close();
fis.close();
} else {
response.getWriter().println("文件不存在!");
}
} catch (IOException e) {
e.printStackTrace();
}
}
```
以上就是JeecgBoot框架中实现文件上传和下载的简单示例。你可以根据自己的项目需求进行适当的修改和扩展。
阅读全文