fix(解压缩): 新增RAR5格式文件解压缩及其他多种压缩格式解压缩

This commit is contained in:
MAC 2022-04-05 12:43:28 +08:00
parent c97601432c
commit 1c05579387
5 changed files with 28 additions and 58 deletions

View File

@ -8,7 +8,7 @@ public interface IFileService extends IService<FileBean> {
Long getFilePointCount(Long fileId); Long getFilePointCount(Long fileId);
void unzipFile(long userFileId, int unzipMode, String filePath); void unzipFile(long userFileId, int unzipMode, String filePath);
public void updateFileDetail(long userFileId, String identifier, long fileSize, long modifyUserId);

View File

@ -1,14 +0,0 @@
package com.qiwenshare.file.config;
import com.github.tobato.fastdfs.FdfsClientConfig;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableMBeanExport;
import org.springframework.context.annotation.Import;
import org.springframework.jmx.support.RegistrationPolicy;
@Configuration
@Import(FdfsClientConfig.class)
@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)
public class FdfsConfig {
}

View File

@ -1,27 +0,0 @@
package com.qiwenshare.file.constant;
/**
* @author MAC
* @version 1.0
* @description: TODO
* @date 2022/1/12 15:44
*/
public enum FilePermissionEnum {
READ(1, "读取"),
READ_WRITE(2, "读取/写入");
private int type;
private String desc;
FilePermissionEnum(int type, String desc) {
this.type = type;
this.desc = desc;
}
public int getType() {
return type;
}
public String getDesc() {
return desc;
}
}

View File

@ -1,9 +1,12 @@
package com.qiwenshare.file.service; package com.qiwenshare.file.service;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qiwenshare.common.exception.QiwenException; import com.qiwenshare.common.exception.QiwenException;
import com.qiwenshare.common.operation.FileOperation; import com.qiwenshare.common.operation.FileOperation;
import com.qiwenshare.common.util.DateUtil;
import com.qiwenshare.file.api.IFileService; import com.qiwenshare.file.api.IFileService;
import com.qiwenshare.file.component.AsyncTaskComp; import com.qiwenshare.file.component.AsyncTaskComp;
import com.qiwenshare.file.domain.FileBean; import com.qiwenshare.file.domain.FileBean;
@ -81,19 +84,15 @@ public class FileService extends ServiceImpl<FileMapper, FileBean> implements IF
String unzipUrl = UFOPUtils.getTempFile(fileBean.getFileUrl()).getAbsolutePath().replace("." + extendName, ""); String unzipUrl = UFOPUtils.getTempFile(fileBean.getFileUrl()).getAbsolutePath().replace("." + extendName, "");
List<String> fileEntryNameList = new ArrayList<>(); List<String> fileEntryNameList = new ArrayList<>();
if ("zip".equals(extendName)) {
fileEntryNameList = FileOperation.unzip(destFile, unzipUrl); try {
} else if ("rar".equals(extendName)) { fileEntryNameList = FileOperation.unrar(destFile, unzipUrl);
try { } catch (Exception e) {
fileEntryNameList = FileOperation.unrar(destFile, unzipUrl); e.printStackTrace();
} catch (Exception e) { log.error("解压失败" + e);
e.printStackTrace(); throw new QiwenException(500001, "解压异常:" + e.getMessage());
log.error("rar解压失败" + e);
throw new QiwenException(500001, "rar解压异常" + e.getMessage());
}
} else {
throw new QiwenException(500002, "不支持的文件格式!");
} }
if (destFile.exists()) { if (destFile.exists()) {
destFile.delete(); destFile.delete();
} }
@ -110,4 +109,16 @@ public class FileService extends ServiceImpl<FileMapper, FileBean> implements IF
} }
public void updateFileDetail(long userFileId, String identifier, long fileSize, long modifyUserId) {
UserFile userFile = userFileMapper.selectById(userFileId);
FileBean fileBean = new FileBean();
fileBean.setIdentifier(identifier);
fileBean.setFileSize(fileSize);
fileBean.setModifyTime(DateUtil.getCurrentTime());
fileBean.setModifyUserId(modifyUserId);
fileBean.setFileId(userFile.getFileId());
fileMapper.updateById(fileBean);
}
} }

View File

@ -158,10 +158,10 @@ under the License.
</mirror> </mirror>
--> -->
<mirror> <mirror>
<id>alimaven</id> <id>aliyunmaven</id>
<mirrorOf>central</mirrorOf> <mirrorOf>*</mirrorOf>
<name>aliyun maven.</name> <name>阿里云公共仓库</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url> <url>https://maven.aliyun.com/repository/public</url>
</mirror> </mirror>
</mirrors> </mirrors>