Java中实现图片文件上传和其他类型文件上传的流程是相同的,只需要在Controller中添加一些校验即可。
以下是一个简单的图片文件上传示例:
- 在HTML表单中添加图片上传控件
<form method="POST" action="/upload" enctype="multipart/form-data">
<input type="file" name="image">
<button type="submit">上传</button>
</form>
- 在Controller中处理图片文件上传请求
@PostMapping("/upload")
public String handleImageUpload(@RequestParam("image") MultipartFile image) {
// 校验上传的文件是否为图片
if (!image.isEmpty() && image.getContentType().startsWith("image/")) {
String fileName = image.getOriginalFilename();
try {
byte[] bytes = image.getBytes();
// 将字节写入文件
Path path = Paths.get(fileName);
Files.write(path, bytes);
} catch (IOException e) {
e.printStackTrace();
}
return "redirect:/success";
}
return "redirect:/error";
}
在上述示例中,我们首先使用@RequestParam("image")
注解来绑定上传的图片文件到MultipartFile类型的参数中。然后,我们可以使用MultipartFile提供的getContentType()方法来检查上传的文件是否为图片。如果上传的文件不是图片,则返回错误页面;否则,将图片文件写入磁盘并返回成功页面。
值得注意的是,在处理上传的图片文件时,我们还可以进行其他的校验,例如:检查图片文件的大小是否超过了限制、检查图片的尺寸是否合法等。