mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
47 lines
2.3 KiB
Markdown
47 lines
2.3 KiB
Markdown
---
|
||||
|
|
description: "Безопасное извлечение файлов из ZIP-архива с защитой от бомб."
|
|||
|
|
i18n_source_hash: 484a1f1051b8
|
|||
|
|
i18n_provenance: human
|
|||
|
|
i18n_output_hash: 55ed372ae1a3
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# Извлечение ZIP {#extract-zip}
|
|||
|
|
|
|||
|
|
Безопасное извлечение файлов из ZIP-архива. Архивы с одним файлом возвращают содержащийся файл напрямую; архивы с несколькими файлами возвращают плоский ZIP с извлечённым содержимым.
|
|||
|
|
|
|||
|
|
## Эндпоинт API {#api-endpoint}
|
|||
|
|
|
|||
|
|
`POST /api/v1/tools/files/extract-zip`
|
|||
|
|
|
|||
|
|
Принимает multipart form data с файлом ZIP. Поле настроек не требуется.
|
|||
|
|
|
|||
|
|
## Параметры {#parameters}
|
|||
|
|
|
|||
|
|
У этого инструмента нет настраиваемых параметров. Загрузите файл `.zip` для извлечения.
|
|||
|
|
|
|||
|
|
## Пример запроса {#example-request}
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST http://localhost:1349/api/v1/tools/files/extract-zip \
|
|||
|
|
-H "Authorization: Bearer si_your-api-key" \
|
|||
|
|
-F "file=@archive.zip"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Пример ответа {#example-response}
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
|||
|
|
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/archive_extracted.zip",
|
|||
|
|
"originalSize": 2800000,
|
|||
|
|
"processedSize": 3500000
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Примечания {#notes}
|
|||
|
|
|
|||
|
|
- В качестве входных данных принимаются только файлы `.zip`.
|
|||
|
|
- Если архив содержит один файл, этот файл возвращается напрямую (не упакованным в ZIP).
|
|||
|
|
- Если архив содержит несколько файлов, возвращается плоский ZIP со всеми файлами, извлечёнными на корневой уровень (вложенная структура каталогов уплощается).
|
|||
|
|
- Встроенная защита от бомб отклоняет архивы с чрезмерными коэффициентами сжатия или количеством файлов, чтобы предотвратить исчерпание ресурсов.
|