SpringBoot 上传图片并保存到数据库 - 完整教程
SpringBoot 上传图片并保存到数据库 - 完整教程
本文将详细介绍如何使用 SpringBoot 上传图片并将其保存到数据库中。
1. 添加依赖
首先,需要在 pom.xml 文件中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
2. 创建实体类
创建一个实体类,用于映射数据库中的表:
@Entity
@Table(name = 'image')
public class Image {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@Lob
private byte[] data;
// getter和setter
}
3. 创建控制器
创建一个控制器,用于接收上传的图片并将其保存到数据库中:
@RestController
@RequestMapping('/image')
public class ImageController {
@Autowired
private ImageRepository imageRepository;
@PostMapping('/upload')
public ResponseEntity<?> uploadImage(@RequestParam('file') MultipartFile file) {
try {
Image image = new Image();
image.setName(file.getOriginalFilename());
image.setData(file.getBytes());
imageRepository.save(image);
return ResponseEntity.ok().build();
} catch (IOException e) {
e.printStackTrace();
return ResponseEntity.badRequest().build();
}
}
}
4. 创建仓库类
创建一个仓库类,继承 JpaRepository,用于操作数据库:
public interface ImageRepository extends JpaRepository<Image, Long> {
}
5. 配置数据库连接信息
最后,在 application.properties 文件中配置数据库连接信息:
spring.datasource.url=jdbc:mysql://localhost:3306/springboot_image?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
总结
这样,当上传图片时,就会将图片保存到数据库中。可以通过访问 http://localhost:8080/image/upload 上传图片。
原文地址: http://www.cveoy.top/t/topic/oUA7 著作权归作者所有。请勿转载和采集!