crazykivi

crazykivi 

MCStack Developer

0subscribers

12posts

0.2.53. Расширение функционала файлового менеджера

Ссылка на Wiki
https://outline.nikitaredk0.ru/s/9d2d3ed1-7ddd-485f-acf1-81a405415224/doc/minecraft-server-Vx0adnYoK3
Запуск проекта
1. Склонируйте репозиторий:
gitclone https://github.com/crazykivi/minecraft-backend.git
cd minecraft-backend
1. Или скачайте и распакуйте один из архивов, вложенных к посту
2. Запустите скрипт start.bat (для Windows) или для start.sh (для Ubuntu и Debian):
  - Нужно сделать файл исполняемым:
chmod +x start.sh
  - После чего запустите скрипт ./start.sh
2. Или запустите проект вручную с помощью Docker
docker-compose up -d
Панель управления будет доступна по адресу: http://localhost:3000/ или тот адрес, который вы указали в переменной REACT_APP_API_URL.
Основные изменения
1. Расширение функционала файлового менеджера (Frontend)
- Реализован выбор папки через кнопку "Выбор папки для загрузки"
- Использован File System Access API (window.showDirectoryPicker()) -
позволяет выбрать папку и рекурсивно считать все файлы внутри неё,
включая вложенные папки
- Сохранена полная структура каталогов при загрузке
- Поддерживается перезапись существующих файлов , а также автоматическое создание отсутствующих папок
Пример структуры:
- Если ты выбираешь папку:
test/
├── file.txt
└── images/
        └── image.png
На сервере будет создано:
/app/server/test/file.txt
/app/server/test/images/image.png
⚠️ Важно: Функция работает только в Chromium-браузерах (Chrome, Edge и т.п.)
2. Улучшения бэкенда
2.1 Обработка relativePath
- Сервер теперь корректно обрабатывает пути, отправленные из фронтенда
- Если на месте новой папки находится файл - он удаляется , чтобы освободить место для директории
- Путь формируется как:
path.join(fullPath, dirStructure), где fullPath - это /app/server, а dirStructure - структура из relativePath
2.2 Перезапись файлов:
- Если файл уже существует - он перезаписывается без ошибок
Ссылка на GitHub.
zip
MCStack-0.2.53.zip1003.59 Kb
gz
MCStack-0.2.53.tar.gz985.93 Kb
Subscription levels2

Базовая поддержка

$0.71 per month
- Ты просто хороший человек.
- Твой ник (или аноним) будет в списке "Спасибо!" в README проекта.
- Ты получишь моральное удовлетворение от того, что помогаешь проекту.
- Никаких эксклюзивных функций. Никаких привилегий. Только чистая поддержка

Продвинутая поддержка

$1.29 per month
- Всё из «Базовой поддержки»
- Твой ник будет выделен жирным (или другим цветом) в списке спонсоров
- Я буду пить кофе, думая о тебе, когда работаю над новой фичей
Go up