feat:(unify): 读取系统的目录和文件信息
This commit is contained in:
parent
821e7fb659
commit
7ff278d04d
@ -0,0 +1,48 @@
|
||||
package com.aizuda.snailjob.server.web.controller;
|
||||
|
||||
import com.aizuda.snailjob.server.common.exception.SnailJobServerException;
|
||||
import com.aizuda.snailjob.server.web.model.response.ViewFileResponseVO;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/file")
|
||||
@RequiredArgsConstructor
|
||||
public class FileViewerController {
|
||||
|
||||
// 显示文件列表
|
||||
@GetMapping("/files")
|
||||
public List<String> listFiles(@RequestParam("rootPath") String rootPath) {
|
||||
try {
|
||||
// 读取目录下的文件列表
|
||||
return Files.list(Paths.get(rootPath))
|
||||
.map(path -> path.getFileName().toString())
|
||||
.toList();
|
||||
} catch (IOException e) {
|
||||
throw new SnailJobServerException("获取文件列表失败", e);
|
||||
}
|
||||
}
|
||||
|
||||
// 显示文件内容
|
||||
@GetMapping("/file")
|
||||
public ViewFileResponseVO viewFile(@RequestParam("fileName") String fileName, @RequestParam("fullPath") String fullPath) {
|
||||
try {
|
||||
// 构建文件路径
|
||||
String filePath = Paths.get(fullPath, fileName).toString();
|
||||
|
||||
// 读取文件内容
|
||||
String s = Files.readString(Paths.get(filePath));
|
||||
|
||||
return ViewFileResponseVO.builder().content(s).build();
|
||||
|
||||
} catch (IOException e) {
|
||||
throw new SnailJobServerException("读取文件失败", e);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.aizuda.snailjob.server.web.model.response;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class ViewFileResponseVO {
|
||||
private String fileName;
|
||||
private String filePath;
|
||||
private String fileSize;
|
||||
private String content;
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user