2.4 KiB
2.4 KiB
Opus — DrHider: использовать логику основного сервиса
Файл: /home/naeel/nubes/contracts/contracts-flask/History/opus-drhider-reuse-logic-2026-06-29.md
29.06.2026
Проблема
DrHider с нуля изобрёл загрузку файлов (JSON+base64, чанки), хотя основной сервис Сверки УЖЕ делает загрузку корректно через multipart/form-data напрямую на VM. Это привело к багам (переполнение аргументов JS, битый base64, HTTP/2 глюки).
Что нужно
Использовать ту же логику загрузки что в основном сервисе:
- JS:
FormData+fetch→ POST multipart на VM (contracts.kube5s.ru/api/drhider) - VM (
convert_server.py): принимать multipart, парсить (как вhandle_upload), отдавать ZIP
Не JSON. Не base64. Как в Сверке.
Файлы для анализа
Основной сервис (рабочая загрузка):
/home/naeel/nubes/contracts/contracts-flask/site/templates/index.html— JS загрузки (FormData, fetch, drag&drop)/home/naeel/nubes/contracts/contracts-flask/deploy/convert_server.py—handle_upload(multipart приём,parse_multipart)/home/naeel/nubes/contracts/contracts-flask/deploy/services/upload.py—parse_multipart,store_document
DrHider (что есть сейчас):
/home/naeel/nubes/contracts/contracts-flask/site/templates/drhider.html— JS с JSON+base64 (кривое)/home/naeel/nubes/contracts/contracts-flask/deploy/convert_server.py—_handle_drhider(JSON приём)/home/naeel/nubes/contracts/contracts-flask/deploy/services/drhider.py— ядро (ок)
Вопросы
- Можно ли скопировать JS-логику загрузки из index.html в drhider.html 1:1? FormData, fetch на VM, progress?
- Можно ли в
_handle_drhiderиспользоватьparse_multipartизservices/upload.pyкак вhandle_upload? - Как совместить приём multipart + вызов
obfuscate_files()+ отдача ZIP — минимальными изменениями? - Нужно ли добавлять отдельный nginx location для
/api/drhiderсclient_max_body_size(как для/upload)?