需求:
上传压缩包文件到Minio服务器
遇到的坑:
final ArchiveEntry nextEntry = in.getNextEntry();
final ZipArchiveEntry nextZipEntry = in.getNextZipEntry();
如果压缩包只有文件,那应该使用 ArchiveEntry 实体。如果使用 ZipArchiveEntry 会导致出现
java.io.EOFException: Truncated ZIP entry 异常
ZipArchiveInputStream in = new ZipArchiveInputStream(new BufferedInputStream(inputStream));
ArchiveEntry archiveEntry;
while ((archiveEntry = in.getNextEntry()) != null) {
if (archiveEntry.isDirectory()) {
continue;
}
//获取文件名
String entryFileName = archiveEntry.getName();
final FileResponse fileResponse = fileService.upload(in, entryFileName, targetPath);
fileResponse.setFileName(archiveEntry.getName());
final BaseDefectVO baseDefectVO = map.get(archiveEntry.getName());
if (!Objects.isNull(baseDefectVO)) {
baseDefectVO.setAttachments(JSON.toJSONString(fileResponse));
list.add(baseDefectVO);
}
}
参考文章:https://blog.csdn.net/weixin_40986713/article/details/117558429
这里存在一个问题就是上面遇到的坑