用的hutool工具类
import cn.hutool.core.util.ZipUtil;
批量多张图片进行压缩。我这边是将上传到华为云的图片进行批量打包压缩。
- //图片批量压缩
- @Test
- public void getZipTest(){
-
- //获取图片http地址
- String a = "http://XXXXX/file/img22081678989401.png";
- String aa = "http://XXXXX/file/img22081663148040.png";
-
-
- //组装
- List
list = new ArrayList(); - list.add(a);
- list.add(aa);
- String[] strings = list.stream().toArray(String[]::new);
-
- List
inputStreamList = new ArrayList(); - for(String i: list){
- InputStream inputStream = QrCodeUtils.stringToInputStream(i);
- inputStreamList.add(inputStream);
- }
-
- //将图片转为图片源
- InputStream [] inputStreams = inputStreamList.stream().toArray(InputStream[]::new);
-
- //定义临时输出流
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-
-
- //压缩方法
- ZipUtil.zip(outputStream,strings,inputStreams);
-
- //转流方式
- ByteArrayInputStream result = new ByteArrayInputStream(outputStream.toByteArray());
- //然后就可以调用云服务的上传文件流的方式上传了fileUploadService
- }
主要的方法就是ZipUtil.zip()。
压缩后这样的,图片都在文件夹内
