springboot 生成一个后台接收图片的代码
时间: 2024-04-29 16:25:55 浏览: 82
下面是一个示例代码,可以让你在Spring Boot中接收图片:
```java
@RestController
public class ImageController {
@PostMapping("/uploadImage")
public String uploadImage(@RequestParam("file") MultipartFile file) {
try {
// 获取文件名
String fileName = StringUtils.cleanPath(file.getOriginalFilename());
// 保存文件到本地
String uploadDir = "images/";
FileUploadUtil.saveFile(uploadDir, fileName, file);
return "File uploaded successfully!";
} catch (IOException ex) {
return "Error uploading file.";
}
}
}
```
在这个示例代码中,我们定义了一个POST请求,用于接收MultipartFile类型的文件。在方法体内,我们通过StringUtils.cleanPath()方法获取文件名,并将文件保存到本地。我们使用了一个FileUploadUtil类来实现文件上传的功能,这个类的代码如下:
```java
public class FileUploadUtil {
public static void saveFile(String uploadDir, String fileName,
MultipartFile multipartFile) throws IOException {
Path uploadPath = Paths.get(uploadDir);
if (!Files.exists(uploadPath)) {
Files.createDirectories(uploadPath);
}
try (InputStream inputStream = multipartFile.getInputStream()) {
Path filePath = uploadPath.resolve(fileName);
Files.copy(inputStream, filePath, StandardCopyOption.REPLACE_EXISTING);
} catch (IOException ioe) {
throw new IOException("Could not save image file: " + fileName, ioe);
}
}
}
```
这个类的作用就是将文件保存到指定的目录中。我们首先创建了一个Path对象来表示上传目录,然后检查目录是否存在。如果目录不存在,我们就调用Files.createDirectories()方法来创建目录。接下来,我们通过multipartFile.getInputStream()方法获取文件的输入流,然后创建一个Path对象来表示文件路径,并调用Files.copy()方法将文件保存到该路径中。如果保存文件时出现了错误,我们就抛出一个IOException异常。
阅读全文