Search K
Obraz na Base64
Konwertuj jeden lub więcej obrazów na ciągi zakodowane w Base64 i identyfikatory URI danych. Obsługuje opcjonalną konwersję formatu, kontrolę jakości i zmianę rozmiaru. Przydatne do osadzania obrazów bezpośrednio w HTML, CSS, JSON lub szablonach e-mail.
Punkt końcowy API
POST /api/v1/tools/image/image-to-base64
Przyjmuje dane formularza multipart z jednym lub większą liczbą plików obrazów oraz opcjonalnym polem JSON settings.
Parametry
| Parametr | Typ | Wymagany | Domyślnie | Opis |
|---|---|---|---|---|
| outputFormat | string | Nie | "original" | Konwertuj przed zakodowaniem: original, jpeg, png, webp, avif, jxl |
| quality | number | Nie | 80 | Jakość wyjściowa dla formatów stratnych (1 do 100) |
| maxWidth | number | Nie | 0 | Maksymalna szerokość w pikselach (0 = brak zmiany rozmiaru, nie powiększy) |
| maxHeight | number | Nie | 0 | Maksymalna wysokość w pikselach (0 = brak zmiany rozmiaru, nie powiększy) |
Przykładowe żądanie
bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
-H "Authorization: Bearer si_your-api-key" \
-F "[email protected]" \
-F 'settings={"outputFormat": "webp", "quality": 80, "maxWidth": 200}'Wiele plików:
bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
-H "Authorization: Bearer si_your-api-key" \
-F "[email protected]" \
-F "[email protected]" \
-F "[email protected]" \
-F 'settings={"outputFormat": "original"}'Przykładowa odpowiedź
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": []
}Pola odpowiedzi
| Pole | Typ | Opis |
|---|---|---|
| results | array | Pomyślnie przekonwertowane obrazy |
| errors | array | Obrazy, których nie udało się przetworzyć (z nazwą pliku i komunikatem błędu) |
Obiekt result
| Pole | Typ | Opis |
|---|---|---|
| filename | string | Oryginalna nazwa pliku |
| mimeType | string | Typ MIME zakodowanego wyniku |
| width | number | Końcowa szerokość w pikselach (po ewentualnej zmianie rozmiaru) |
| height | number | Końcowa wysokość w pikselach (po ewentualnej zmianie rozmiaru) |
| originalSize | number | Oryginalny rozmiar pliku w bajtach |
| encodedSize | number | Rozmiar ciągu Base64 w bajtach |
| overheadPercent | number | Procentowa różnica rozmiaru względem oryginału (dodatnia = większy, ujemna = mniejszy) |
| base64 | string | Surowe dane obrazu zakodowane w Base64 |
| dataUri | string | Kompletny identyfikator URI danych gotowy do użycia w atrybutach src |
Uwagi
- Kodowanie Base64 zazwyczaj zwiększa rozmiar o około 33% w porównaniu z plikiem binarnym. Pole
overheadPercentpokazuje rzeczywistą różnicę. - Gdy
outputFormatto"original", pliki HEIC/HEIF są konwertowane na JPEG (ponieważ przeglądarki nie mogą wyświetlać HEIC w identyfikatorach URI danych). - Opcje
maxWidthimaxHeightzmieniają rozmiar za pomocąfit: insidezwithoutEnlargement, więc obrazy mniejsze niż podane wymiary nie są powiększane. - W jednym żądaniu można przetworzyć wiele plików. Każdy plik jest przetwarzany niezależnie, a niepowodzenia nie uniemożliwiają pomyślnego przetworzenia innych plików.
- Pliki SVG są przepuszczane jako
image/svg+xmlbez ponownego kodowania (chyba że zażądano konwersji formatu). - To punkt końcowy tylko do odczytu. Nie tworzy pliku do pobrania ani
jobId. Dane Base64 są zwracane bezpośrednio w treści odpowiedzi.
