spring 表单提交图片,图片名保存到数据库表,图片保存到文件夹
时间: 2023-10-06 21:11:50 浏览: 77
layui上传图片到服务器的非项目目录下的方法
在Spring中提交图片,可以使用MultipartFile来接收图片文件。在处理图片的时候,可以先将图片保存到服务器的文件夹中,然后再将图片名保存到数据库表中。
以下是一个实现示例:
1. 在JSP页面中,使用form表单提交图片,并设置enctype="multipart/form-data"。
```
<form method="post" action="/upload" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="Submit" />
</form>
```
2. 在Controller中,使用@RequestParam注解来接收图片文件,并使用FileUtils将图片保存到服务器的文件夹中。
```
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
try {
// 保存图片到服务器文件夹中
FileUtils.writeByteArrayToFile(new File("path/to/folder/" + file.getOriginalFilename()), file.getBytes());
// 将图片名保存到数据库表中
imageService.saveImage(file.getOriginalFilename());
return "redirect:/success";
} catch (IOException e) {
e.printStackTrace();
return "redirect:/error";
}
}
```
3. 在Service中,使用JdbcTemplate执行SQL语句将图片名保存到数据库表中。
```
@Service
public class ImageService {
@Autowired
private JdbcTemplate jdbcTemplate;
public void saveImage(String imageName) {
String sql = "INSERT INTO images (name) VALUES (?)";
jdbcTemplate.update(sql, imageName);
}
}
```
这样就可以实现在Spring中提交图片,将图片名保存到数据库表,以及将图片保存到文件夹的功能。
阅读全文