springboot存储图片到mysql代码
时间: 2023-12-03 18:01:53 浏览: 80
您好!以下是将图片存储到 MySQL 数据库中的 Spring Boot 代码:
1. 创建数据库
首先在 MySQL 数据库中创建一个表,表名为“images”,包含两列数据:
- id:主键(自增长)
- content:图片数据(二进制)
CREATE TABLE images (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
content LONGBLOB NOT NULL
);
2. 实现文件上传接口
在 Spring Boot 中实现文件上传接口,将图片数据保存到数据库中。
@Service
public class FileService {
@Autowired
private JdbcTemplate jdbcTemplate;
public void saveImage(MultipartFile file) throws IOException {
String sql = "INSERT INTO images(content) values(?)";
jdbcTemplate.update(connection -> {
PreparedStatement ps = connection.prepareStatement(sql);
ps.setBytes(1, file.getBytes());
return ps;
});
}
}
3. 控制器代码
在 Spring Boot 控制器中调用文件上传接口,将图片保存到数据库中。
@RestController
@RequestMapping("/api")
public class FileController {
@Autowired
private FileService fileService;
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) throws IOException {
fileService.saveImage(file);
return "File uploaded successfully!";
}
}
通过以上代码,您可以将图片数据存储到 MySQL 数据库中。如果您有任何问题,请随时联系我。
阅读全文