fix:from file 读取ftp功能改为直接访问ftp文件夹目录获取文件

This commit is contained in:
xiaoguangbin 2024-07-16 14:30:36 +08:00
parent f4b05e2da1
commit 5a8f20362a

View File

@ -181,12 +181,13 @@ public class SpectrumFileServiceImpl implements ISpectrumFileService {
List<FileDto> fileDtos = new ArrayList<>(); List<FileDto> fileDtos = new ArrayList<>();
Page<FileDto> page = new Page<>(pageNo, pageSize); Page<FileDto> page = new Page<>(pageNo, pageSize);
try { try {
ftpClient = ftpUtil.LoginFTP(); File folder = new File(filePath);
if (ObjectUtil.isNull(ftpClient)) // ftpClient = ftpUtil.LoginFTP();
return Result.error(Prompt.FTP_ERR); // if (ObjectUtil.isNull(ftpClient))
boolean exist = ftpClient.changeWorkingDirectory(filePath); // return Result.error(Prompt.FTP_ERR);
if (!exist) return Result.OK(page); // boolean exist = ftpClient.changeWorkingDirectory(filePath);
List<FTPFile> ftpFiles = ListUtil.toList(ftpClient.listFiles()); // if (!exist) return Result.OK(page);
List<File> ftpFiles = ListUtil.toList(folder.listFiles());
// 根据文件名进行过滤 // 根据文件名进行过滤
String name = fileVo.getName(); String name = fileVo.getName();
if (StrUtil.isNotBlank(name)){ if (StrUtil.isNotBlank(name)){
@ -195,11 +196,10 @@ public class SpectrumFileServiceImpl implements ISpectrumFileService {
.filter(file -> containsAllIgnoreCase(file.getName(),names)) .filter(file -> containsAllIgnoreCase(file.getName(),names))
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
for (FTPFile ftpFile : ftpFiles) { for (File ftpFile : ftpFiles) {
String fileName = ftpFile.getName(); String fileName = ftpFile.getName();
Calendar calendar = ftpFile.getTimestamp(); Date updateDate = new Date(ftpFile.lastModified());
Date updateDate = calendar.getTime(); long size = ftpFile.length();
long size = ftpFile.getSize();
FileDto fileDto = new FileDto(); FileDto fileDto = new FileDto();
fileDto.setName(fileName); fileDto.setName(fileName);
fileDto.setUpdateDate(updateDate); fileDto.setUpdateDate(updateDate);
@ -212,7 +212,7 @@ public class SpectrumFileServiceImpl implements ISpectrumFileService {
List<FileDto> records = PageUtil.page(pageNo, pageSize, fileDtos); List<FileDto> records = PageUtil.page(pageNo, pageSize, fileDtos);
page.setRecords(records).setTotal(fileDtos.size()); page.setRecords(records).setTotal(fileDtos.size());
return Result.OK(page); return Result.OK(page);
} catch (IOException e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return Result.error(e.getMessage()); return Result.error(e.getMessage());
}finally { }finally {