This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

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

ParametrTypWymaganyDomyślnieOpis
outputFormatstringNie"original"Konwertuj przed zakodowaniem: original, jpeg, png, webp, avif, jxl
qualitynumberNie80Jakość wyjściowa dla formatów stratnych (1 do 100)
maxWidthnumberNie0Maksymalna szerokość w pikselach (0 = brak zmiany rozmiaru, nie powiększy)
maxHeightnumberNie0Maksymalna 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

PoleTypOpis
resultsarrayPomyślnie przekonwertowane obrazy
errorsarrayObrazy, których nie udało się przetworzyć (z nazwą pliku i komunikatem błędu)

Obiekt result

PoleTypOpis
filenamestringOryginalna nazwa pliku
mimeTypestringTyp MIME zakodowanego wyniku
widthnumberKońcowa szerokość w pikselach (po ewentualnej zmianie rozmiaru)
heightnumberKońcowa wysokość w pikselach (po ewentualnej zmianie rozmiaru)
originalSizenumberOryginalny rozmiar pliku w bajtach
encodedSizenumberRozmiar ciągu Base64 w bajtach
overheadPercentnumberProcentowa różnica rozmiaru względem oryginału (dodatnia = większy, ujemna = mniejszy)
base64stringSurowe dane obrazu zakodowane w Base64
dataUristringKompletny 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.