Java上传ZIP解压获取图片流

@RequestMapping("/batchUploadImage")
    public RestResult<ImportVO> batchUploadImage(@RequestParam("file") MultipartFile zipFile, CommunityCodeParam param) {
        if (zipFile == null) {
            return RestResult.wrapErrorResponse("请上传压缩包");
        }
        //设置格式 防止压缩包中文乱码
        try (ZipInputStream zin = new ZipInputStream(zipFile.getInputStream(), Charset.forName("GBK"))) {
            ZipEntry entry;
            while ((entry = zin.getNextEntry()) != null) {
                if (!entry.isDirectory()) {
                    String entryName = entry.getName();
                    if (entryName != null) {
                        String[] url = entryName.split("\\.");
                        String[] split = url[0].split("/");
                        String nameAndPhone = split[split.length - 1];
                        String[] splitName = nameAndPhone.split("-");
                        String name = splitName[0];
                        String phone = splitName[1];
                    }
                    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                    byte[] array = new byte[1024];
                    int num = -1;
                    while ((num = zin.read(array, 0, array.length)) > -1) {
                        byteArrayOutputStream.write(array, 0, num);
                    }
                    byte[] bytes = byteArrayOutputStream.toByteArray();
                    String imageUrl = ossUtil.uploadToOss(bytes, entryName, OssUtil.FACE_SIZE_DEFAULT);
                    System.out.println(imageUrl);
                }
                zin.closeEntry();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值