温馨提示×

springboot怎么上传多张图片

小亿
161
2023-11-20 13:11:02
栏目: 编程语言

在Spring Boot中,可以使用MultipartFile类型来处理多张图片的上传。

首先,需要在Controller中添加一个处理上传图片的接口,如下所示:

@RestController
public class ImageController {
    
    @PostMapping("/upload")
    public String uploadImages(@RequestParam("images") MultipartFile[] images) {
        // 处理上传的图片
        // ...
        return "上传成功";
    }
    
}

在上面的代码中,images参数使用了@RequestParam注解,并且类型是MultipartFile[],这样就可以接收多张图片的上传请求。

然后,在前端页面中,可以使用<input type="file" name="images" multiple>来实现多张图片的选择和上传。例如,下面是一个简单的HTML表单:

<form method="post" action="/upload" enctype="multipart/form-data">
    <input type="file" name="images" multiple>
    <input type="submit" value="上传">
</form>

当用户选择了多张图片后,点击提交按钮,表单会将选择的图片以多个images参数的形式提交到服务器端的/upload接口。

在服务器端,可以使用images参数来处理上传的图片。例如,可以遍历images数组,并使用transferTo方法保存图片到指定的目录:

@PostMapping("/upload")
public String uploadImages(@RequestParam("images") MultipartFile[] images) {
    // 处理上传的图片
    for (MultipartFile image : images) {
        if (!image.isEmpty()) {
            try {
                String fileName = image.getOriginalFilename();
                File dest = new File("上传图片的路径" + fileName);
                image.transferTo(dest);
            } catch (IOException e) {
                e.printStackTrace();
                return "上传失败";
            }
        }
    }
    return "上传成功";
}

上述代码中的"上传图片的路径"需要根据实际需求进行修改,这样就可以将多张图片保存到指定的路径中。

需要注意的是,以上只是一个简单的示例,实际应用中可能还需要对图片进行校验、重命名等操作。

0