场景:
实际业务中,经常会遇到对多张图片或多个视频进行批量打包下载,此时就需要把选择的图片和视频进行融合打包压缩,写入到输出流
实现
1、思路,既然选择下载,说明已知文件的地址,所以只需把指定的图片或视频通过地址全部下载下来,放入同一个文件夹中,然后使用 Hutool 的 ZipUtil 对这个文件夹进行压缩即可
2、代码案例:
@ApiOperation(value = "图片视频打包下载-zip")
@GetMapping(value = "/downloadFile")
public void downloadFile(HttpServletResponse response) {
String zipFileName = "测试zip包名称";
//图片或视频地址
List<String> filePathList = ListUtil.toList(
"https://xxx/file/1710302162391.jpg"
);
try {
boolean tryLock = lockUtil.tryLock("aaa", 10, TimeUnit.SECONDS);
if (tryLock) {
if (CollUtil.isNotEmpty(filePathList)) {
List<File> fileList = ListUtil.list(false);