Class FileOperationManager

java.lang.Object
com.ultikits.ultitools.manager.FileOperationManager

@Internal public class FileOperationManager extends Object
文件操作管理器 负责处理来自WebSocket的文件操作请求
  • Field Details

    • webSocketClient

      private UltiPanelWebSocketClient webSocketClient
    • serverRoot

      private final File serverRoot
    • gson

      private final com.google.gson.Gson gson
    • BLOCKED_FILES

      private static final Set<String> BLOCKED_FILES
    • BLOCKED_EXTENSIONS

      private static final Set<String> BLOCKED_EXTENSIONS
  • Constructor Details

    • FileOperationManager

      public FileOperationManager()
  • Method Details

    • setWebSocketClient

      public void setWebSocketClient(UltiPanelWebSocketClient client)
      设置WebSocket客户端
      Parameters:
      client - WebSocket客户端
    • isPathAllowed

      public boolean isPathAllowed(String path)
      检查文件路径是否允许远程访问 Check if a file path is allowed for remote access.
      Parameters:
      path - 文件路径
      Returns:
      是否允许访问
    • handleFileOperation

      public void handleFileOperation(com.google.gson.JsonObject operationData)
      处理文件操作请求
    • handleReadOperation

      private void handleReadOperation(String path, com.google.gson.JsonObject operationData, String operationId)
      处理文件读取操作
    • handleWriteOperation

      private void handleWriteOperation(String path, com.google.gson.JsonObject operationData, String operationId)
      处理文件写入操作
    • handleListOperation

      private void handleListOperation(String path, com.google.gson.JsonObject operationData, String operationId)
      处理目录列表操作
    • handleDeleteOperation

      private void handleDeleteOperation(String path, com.google.gson.JsonObject operationData, String operationId)
      处理文件删除操作
    • deleteDirectory

      private boolean deleteDirectory(File dir)
      递归删除目录
    • getSecureFile

      private File getSecureFile(String path) throws SecurityException
      获取安全的文件路径(防止路径遍历攻击)
      Throws:
      SecurityException
    • sendFileOperationResult

      private void sendFileOperationResult(String operationId, String operation, String path, boolean success, String message, com.google.gson.JsonObject data)
      发送文件操作结果