fix(文件解压): 新增解压模式
自动创建该文件名目录,并解压到目录里
This commit is contained in:
parent
964902c4d4
commit
733474d5ed
@ -9,7 +9,7 @@ public class UnzipFileDTO {
|
||||
@Schema(description = "文件url", required = true)
|
||||
private long userFileId;
|
||||
|
||||
@Schema(description = "解压模式 0-解压到当前文件夹, 1-自动创建该文件名目录,并解压到目录里, 3-手动选择解压目录", required = true)
|
||||
@Schema(description = "解压模式 0-解压到当前文件夹, 1-自动创建该文件名目录,并解压到目录里, 2-手动选择解压目录", required = true)
|
||||
private int unzipMode;
|
||||
|
||||
@Schema(description = "解压目的文件目录,仅当 unzipMode 为 2 时必传")
|
||||
|
@ -10,6 +10,7 @@ import com.qiwenshare.file.domain.FileBean;
|
||||
import com.qiwenshare.file.domain.UserFile;
|
||||
import com.qiwenshare.file.mapper.FileMapper;
|
||||
import com.qiwenshare.file.mapper.UserFileMapper;
|
||||
import com.qiwenshare.file.util.QiwenFileUtil;
|
||||
import com.qiwenshare.ufop.factory.UFOPFactory;
|
||||
import com.qiwenshare.ufop.operation.copy.domain.CopyFile;
|
||||
import com.qiwenshare.ufop.operation.download.Downloader;
|
||||
@ -110,6 +111,11 @@ public class FileService extends ServiceImpl<FileMapper, FileBean> implements IF
|
||||
if (destFile.exists()) {
|
||||
destFile.delete();
|
||||
}
|
||||
|
||||
if (!fileEntryNameList.isEmpty()) {
|
||||
UserFile qiwenDir = QiwenFileUtil.getQiwenDir(userFile.getUserId(), userFile.getFilePath(), userFile.getFileName());
|
||||
userFileMapper.insert(qiwenDir);
|
||||
}
|
||||
for (int i = 0; i < fileEntryNameList.size(); i++){
|
||||
String entryName = fileEntryNameList.get(i);
|
||||
log.info("文件名:"+ entryName);
|
||||
@ -196,10 +202,12 @@ public class FileService extends ServiceImpl<FileMapper, FileBean> implements IF
|
||||
saveUserFile.setDeleteFlag(0);
|
||||
|
||||
if (unzipMode == 1) {
|
||||
String destFilePath = "/" + userFile.getFilePath() + saveUserFile.getFilePath();
|
||||
saveUserFile.setFilePath(destFilePath);
|
||||
// String destFilePath = "/" + userFile.getFilePath() + saveUserFile.getFilePath();
|
||||
// saveUserFile.setFilePath(destFilePath);
|
||||
|
||||
saveUserFile.setFilePath(UFOPUtils.pathSplitFormat(userFile.getFilePath() + userFile.getFileName() + "/" + entryName.replace(currentFile.getName(), "")).replace("\\", "/"));
|
||||
} else if(unzipMode == 2) {
|
||||
saveUserFile.setFilePath(filePath);
|
||||
saveUserFile.setFilePath(UFOPUtils.pathSplitFormat(filePath + entryName.replace(currentFile.getName(), "")).replace("\\", "/"));
|
||||
}
|
||||
|
||||
String fileName = fileDealComp.getRepeatFileName(saveUserFile, saveUserFile.getFilePath());
|
||||
|
21
src/main/java/com/qiwenshare/file/util/QiwenFileUtil.java
Normal file
21
src/main/java/com/qiwenshare/file/util/QiwenFileUtil.java
Normal file
@ -0,0 +1,21 @@
|
||||
package com.qiwenshare.file.util;
|
||||
|
||||
import com.qiwenshare.common.util.DateUtil;
|
||||
import com.qiwenshare.file.domain.UserFile;
|
||||
|
||||
public class QiwenFileUtil {
|
||||
|
||||
public static UserFile getQiwenDir(long userId, String filePath, String fileName) {
|
||||
UserFile userFile = new UserFile();
|
||||
userFile.setUserId(userId);
|
||||
userFile.setFileId(null);
|
||||
userFile.setFileName(fileName);
|
||||
userFile.setFilePath(filePath);
|
||||
userFile.setExtendName(null);
|
||||
userFile.setIsDir(1);
|
||||
userFile.setUploadTime(DateUtil.getCurrentTime());
|
||||
userFile.setDeleteFlag(0);
|
||||
userFile.setDeleteBatchNum(null);
|
||||
return userFile;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user