springboot项目,java开发时,上传图片或者视频到后端,将文件(图片或者视频)存储在服务器的文件系统中,而存储路径则保存在数据库中的代码示例
时间: 2023-12-05 22:03:11 浏览: 191
以下是一个简单的示例代码,可以将上传的文件保存在服务器文件系统中,并将文件路径保存在数据库中:
```java
@RestController
@RequestMapping("/file")
public class FileController {
@Autowired
private FileService fileService;
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
try {
// 获取文件名
String fileName = file.getOriginalFilename();
// 获取文件存储路径
String filePath = "/var/www/uploads/" + fileName;
// 将文件保存到服务器文件系统中
file.transferTo(new File(filePath));
// 将文件路径保存到数据库中
fileService.saveFile(fileName, filePath);
return "File uploaded successfully";
} catch (Exception e) {
return "File upload failed";
}
}
}
@Service
public class FileService {
@Autowired
private FileRepository fileRepository;
public void saveFile(String fileName, String filePath) {
FileEntity file = new FileEntity();
file.setFileName(fileName);
file.setFilePath(filePath);
fileRepository.save(file);
}
}
@Entity
public class FileEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String fileName;
private String filePath;
// getters and setters
}
```
在这个示例中,我们使用 `MultipartFile` 类来处理上传的文件,将文件保存在 `/var/www/uploads/` 目录下,并将文件路径保存在 `FileEntity` 对象中,最后使用 `JPA` 将对象保存到数据库中。当需要使用保存的文件时,只需从数据库中获取文件路径,并读取文件即可。
阅读全文