Files
SnapOtter/apps/docs/ru/tools/image/image-to-base64.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

97 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: "Конвертация изображений в base64 data URI для встраивания в HTML, CSS и другое."
i18n_source_hash: ba4b8f3b4ece
i18n_provenance: human
i18n_output_hash: c2f8ffaf080a
---
# Изображение в Base64 {#image-to-base64}
Конвертирует одно или несколько изображений в строки, закодированные в base64, и data URI. Поддерживает необязательную конвертацию формата, управление качеством и изменение размера. Полезно для встраивания изображений напрямую в HTML, CSS, JSON или шаблоны писем.
## Конечная точка API {#api-endpoint}
`POST /api/v1/tools/image/image-to-base64`
Принимает данные формы multipart с одним или несколькими файлами изображений и необязательным полем JSON `settings`.
## Параметры {#parameters}
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|-----------|------|----------|---------|-------------|
| outputFormat | string | Нет | `"original"` | Конвертировать перед кодированием: `original`, `jpeg`, `png`, `webp`, `avif`, `jxl` |
| quality | number | Нет | `80` | Качество вывода для форматов с потерями (от 1 до 100) |
| maxWidth | number | Нет | `0` | Максимальная ширина в пикселях (0 = без изменения размера, не увеличивает) |
| maxHeight | number | Нет | `0` | Максимальная высота в пикселях (0 = без изменения размера, не увеличивает) |
## Пример запроса {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@icon.png" \
-F 'settings={"outputFormat": "webp", "quality": 80, "maxWidth": 200}'
```
Несколько файлов:
```bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@icon1.png" \
-F "file=@icon2.png" \
-F "file=@icon3.png" \
-F 'settings={"outputFormat": "original"}'
```
## Пример ответа {#example-response}
```json
{
"results": [
{
"filename": "icon.png",
"mimeType": "image/webp",
"width": 200,
"height": 200,
"originalSize": 45000,
"encodedSize": 28800,
"overheadPercent": -36.0,
"base64": "UklGRlYAAABXRUJQ...",
"dataUri": "data:image/webp;base64,UklGRlYAAABXRUJQ..."
}
],
"errors": []
}
```
## Поля ответа {#response-fields}
| Поле | Тип | Описание |
|-------|------|-------------|
| results | array | Успешно сконвертированные изображения |
| errors | array | Изображения, которые не удалось обработать (с именем файла и сообщением об ошибке) |
### Объект result {#result-object}
| Поле | Тип | Описание |
|-------|------|-------------|
| filename | string | Исходное имя файла |
| mimeType | string | MIME-тип закодированного вывода |
| width | number | Итоговая ширина в пикселях (после любого изменения размера) |
| height | number | Итоговая высота в пикселях (после любого изменения размера) |
| originalSize | number | Исходный размер файла в байтах |
| encodedSize | number | Размер строки base64 в байтах |
| overheadPercent | number | Процентная разница размера относительно оригинала (положительная = больше, отрицательная = меньше) |
| base64 | string | Необработанные данные изображения, закодированные в base64 |
| dataUri | string | Полный data URI, готовый к использованию в атрибутах `src` |
## Примечания {#notes}
- Кодирование base64 обычно увеличивает размер примерно на 33% по сравнению с двоичным файлом. Поле `overheadPercent` показывает фактическую разницу.
- Когда `outputFormat` равен `"original"`, файлы HEIC/HEIF конвертируются в JPEG (поскольку браузеры не могут отображать HEIC в data URI).
- Параметры `maxWidth` и `maxHeight` изменяют размер с помощью `fit: inside` с `withoutEnlargement`, поэтому изображения меньше указанных размеров не увеличиваются.
- В одном запросе можно обработать несколько файлов. Каждый файл обрабатывается независимо, и сбои не мешают успешной обработке остальных файлов.
- Файлы SVG передаются как `image/svg+xml` без перекодирования (если не запрошена конвертация формата).
- Это конечная точка только для чтения. Она не создаёт загружаемый файл или `jobId`. Данные base64 возвращаются напрямую в теле ответа.