新增文件夹方式上传

This commit is contained in:
马超 2021-07-11 19:42:59 +08:00
parent 07ad2b7aca
commit a61f18fbc5
4 changed files with 23 additions and 3 deletions

View File

@ -99,7 +99,9 @@ public class FileDealComp {
/** /**
* 还原父文件路径 * 还原父文件路径
* *
* 回收站文件还原操作会将文件恢复到原来的路径下,当还原文件的时候如果父目录已经不存在了则需要把父母录给还原 * 1回收站文件还原操作会将文件恢复到原来的路径下,当还原文件的时候如果父目录已经不存在了则需要把父母录给还原
* 2上传目录
*
* @param filePath * @param filePath
* @param sessionUserId * @param sessionUserId
*/ */

View File

@ -20,6 +20,7 @@ import com.qiwenshare.file.service.ShareService;
import com.qiwenshare.file.service.StorageService; import com.qiwenshare.file.service.StorageService;
import com.qiwenshare.file.vo.file.FileListVo; import com.qiwenshare.file.vo.file.FileListVo;
import com.qiwenshare.file.vo.file.UploadFileVo; import com.qiwenshare.file.vo.file.UploadFileVo;
import com.qiwenshare.ufo.util.PathUtil;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -84,7 +85,14 @@ public class FiletransferController {
UserFile userFile = new UserFile(); UserFile userFile = new UserFile();
userFile.setUserId(sessionUserBean.getUserId()); userFile.setUserId(sessionUserBean.getUserId());
userFile.setFilePath(uploadFileDto.getFilePath()); String relativePath = uploadFileDto.getRelativePath();
if (StringUtils.isNotEmpty(relativePath)) {
userFile.setFilePath(uploadFileDto.getFilePath() + PathUtil.getParentPath(relativePath) + "/");
fileDealComp.restoreParentFilePath(uploadFileDto.getFilePath() + PathUtil.getParentPath(relativePath) + "/", sessionUserBean.getUserId());
} else {
userFile.setFilePath(uploadFileDto.getFilePath());
}
String fileName = uploadFileDto.getFilename(); String fileName = uploadFileDto.getFilename();
userFile.setFileName(FileUtil.getFileNameNotExtend(fileName)); userFile.setFileName(FileUtil.getFileNameNotExtend(fileName));
userFile.setExtendName(FileUtil.getFileExtendName(fileName)); userFile.setExtendName(FileUtil.getFileExtendName(fileName));

View File

@ -24,6 +24,8 @@ public class UploadFileDTO {
@Schema(description = "切片大小") @Schema(description = "切片大小")
private long chunkSize; private long chunkSize;
@Schema(description = "相对路径")
private String relativePath;
@Schema(description = "所有切片") @Schema(description = "所有切片")
private int totalChunks; private int totalChunks;

View File

@ -15,6 +15,7 @@ import cn.hutool.core.bean.BeanUtil;
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.core.conditions.update.LambdaUpdateWrapper;
import com.qiwenshare.common.constant.FileConstant;
import com.qiwenshare.common.operation.FileOperation; import com.qiwenshare.common.operation.FileOperation;
import com.qiwenshare.common.util.DateUtil; import com.qiwenshare.common.util.DateUtil;
@ -46,6 +47,7 @@ import com.qiwenshare.ufo.operation.upload.Uploader;
import com.qiwenshare.ufo.operation.upload.domain.UploadFile; import com.qiwenshare.ufo.operation.upload.domain.UploadFile;
import com.qiwenshare.ufo.util.PathUtil; import com.qiwenshare.ufo.util.PathUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -98,7 +100,13 @@ public class FiletransferService implements IFiletransferService {
fileBean.setPointCount(1); fileBean.setPointCount(1);
fileMapper.insert(fileBean); fileMapper.insert(fileBean);
UserFile userFile = new UserFile(); UserFile userFile = new UserFile();
userFile.setFilePath(uploadFileDto.getFilePath()); String relativePath = uploadFileDto.getRelativePath();
if (StringUtils.isNotEmpty(relativePath)) {
userFile.setFilePath(uploadFileDto.getFilePath() + PathUtil.getParentPath(relativePath) + "/");
fileDealComp.restoreParentFilePath(uploadFileDto.getFilePath() + PathUtil.getParentPath(relativePath) + "/", userId);
} else {
userFile.setFilePath(uploadFileDto.getFilePath());
}
userFile.setUserId(userId); userFile.setUserId(userId);
userFile.setFileName(uploadFile.getFileName()); userFile.setFileName(uploadFile.getFileName());
userFile.setExtendName(uploadFile.getFileType()); userFile.setExtendName(uploadFile.getFileType());