图片批量上传功能

文件批量上传三步区:
第一步建Controller:
@RestController
@Api(tags = {"admin文件上传操作"})
@RequestMapping(value = "/api/fileUpload")
public class FileUploadController {
    @Autowired
    private FileUploadService fileUploadService;
    /**
     * 上传图片
     * @author   shuaifa
     * @param files
     * @return
     * @date 2023/7/13 09:58
     */
     @ApiOperation(value = "批量上传图片")
     @PostMapping(value = "uploadImg")
     public AppResponse<String> uploadImg(@RequestParam("files") @NonNull MultipartFile[] files) {
         return fileUploadService.uploadImg(files);
     }
}
第二步建Service:
public interface FileUploadService {
    AppResponse<String> uploadImg(MultipartFile[] files);
}
第三步建ServiceImpl:
@Service
@Slf4j
public class FileUploadServiceImpl implements FileUploadService {
        @Override
        public AppResponse<String> uploadImg(MultipartFile[] files) {
            if (files == null || files.length <= 0) {
                return AppResponse.fail("文件不能为空!");
            }
            //磁盘文件目录
            //String FILEPATH = baseFilePath;
            String FILEPATH = "D:\srv\files\";
            Map<String, Object> mapAll = new HashMap<String, Object>();
            try {
                List<String> pathList = new ArrayList<String>();
                // 循环获取file数组中得文件
                for (int i = 0; i < files.length; i++) {
                    MultipartFile file = files[i];
                    String fileName = file.getOriginalFilename();
                    String filePath = FILEPATH + fileName;
                    File saveDir = new File(filePath);
                    // 判断文件夹是否存在,不存在则创建
                    if (!saveDir.getParentFile().exists()) {
                        saveDir.getParentFile().mkdirs();
                    }
                    // 转存文件
                    file.transferTo(saveDir);
                    pathList.add( filePath);

                }
                mapAll.put("path", pathList);
            } catch (Exception e) {
                e.printStackTrace();
                return AppResponse.fail("文件上传失败!");
            }
                    String jsonString = JSON.toJSONString(mapAll.get("path")).replace("[","{").replace("]","}");
            return AppResponse.rest(200,"文件上传成功!",jsonString);
        }
}

完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值