0.2.53. Расширение функционала файлового менеджера
Ссылка на Wiki
Запуск проекта
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