写一个springboot 处理图片上传的方法
时间: 2023-05-26 22:02:18 浏览: 86
SpringBoot之图片上传与回显
5星 · 资源好评率100%
可能的代码实现如下所示:
```
@PostMapping("/upload")
public String handleUpload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
// 处理上传文件为空的情况
return "上传文件为空";
}
// 生成保存文件的目录,并创建该目录(如果不存在)
String uploadDir = "uploads/";
File dir = new File(uploadDir);
if (!dir.exists()) {
dir.mkdirs();
}
// 生成保存文件的文件名,并组装保存路径
String originalFilename = file.getOriginalFilename();
String suffix = originalFilename.substring(originalFilename.lastIndexOf("."));
String filename = UUID.randomUUID().toString() + suffix;
String savePath = uploadDir + filename;
try {
// 保存上传的文件
byte[] bytes = file.getBytes();
Path path = Paths.get(savePath);
Files.write(path, bytes);
} catch (IOException e) {
// 处理文件保存失败的情况
return "文件保存失败";
}
// 处理文件保存成功的情况
return "文件上传成功,保存路径为:" + savePath;
}
```
这段代码定义了一个处理图片上传的方法,使用 `@PostMapping("/upload")` 注解标记该方法可以处理 `/upload` 路径上的 POST 请求。该方法接受一个名为 `file` 的多部分文件上传参数,表示上传的图片文件。方法会先检查文件是否为空,如果为空则返回一个错误提示。接着生成文件保存目录并创建该目录,然后生成一个随机的文件名,并组装保存路径。然后尝试保存上传的文件,如果保存失败则返回一个错误提示,如果保存成功则返回一个成功提示,同时包含文件的保存路径。在实际的应用中,你还应该考虑并处理其他可能的异常情况,例如文件格式不支持、文件过大等等。
阅读全文