springboot上传图片路径到mysql
时间: 2023-07-04 20:20:25 浏览: 111
在Spring Boot中将上传的图片路径保存到MySQL数据库中,可以通过以下步骤实现:
1. 创建一个包含“id”和“image_path”的实体类(例如:ImageEntity),并使用JPA将其映射到MySQL数据库。
2. 创建一个控制器(例如:ImageController)来处理上传图片的请求,并将图片保存到服务器的指定目录中。
3. 在控制器中,将图片的路径设置为ImageEntity中的“image_path”属性,并使用JPA将其保存到MySQL数据库中。
以下是示例代码:
ImageEntity.java
```java
@Entity
@Table(name = "image")
public class ImageEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "image_path")
private String imagePath;
// getters and setters
}
```
ImageController.java
```java
@RestController
@RequestMapping("/image")
public class ImageController {
@Autowired
private ImageRepository imageRepository;
@PostMapping("/upload")
public ResponseEntity<?> uploadImage(@RequestParam("image") MultipartFile multipartFile) {
try {
// 保存图片到服务器
String imagePath = saveImage(multipartFile);
// 将图片路径保存到MySQL数据库
ImageEntity imageEntity = new ImageEntity();
imageEntity.setImagePath(imagePath);
imageRepository.save(imageEntity);
return ResponseEntity.ok().build();
} catch (Exception e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}
// 保存图片到服务器
private String saveImage(MultipartFile multipartFile) throws IOException {
String fileName = multipartFile.getOriginalFilename();
String filePath = "/path/to/images/" + fileName; // 保存图片的路径
File dest = new File(filePath);
multipartFile.transferTo(dest);
return filePath;
}
}
```
通过以上代码,上传的图片路径将被保存到MySQL数据库中。请根据实际情况修改代码中的路径和数据库配置信息。
阅读全文