Files
SnapOtter/apps/docs/pl/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

4.1 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Konwertuj obrazy na identyfikatory URI danych Base64 do osadzania w HTML, CSS i innych. ba4b8f3b4ece human 4af7bf124f8d

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

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}'

Wiele plików:

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"}'

Przykładowa odpowiedź

{
  "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 overheadPercent pokazuje rzeczywistą różnicę.
  • Gdy outputFormat to "original", pliki HEIC/HEIF są konwertowane na JPEG (ponieważ przeglądarki nie mogą wyświetlać HEIC w identyfikatorach URI danych).
  • Opcje maxWidth i maxHeight zmieniają rozmiar za pomocą fit: inside z withoutEnlargement, 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+xml bez 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.