Bild-URL zu Base64 umwandeln
Ein Bild aus einem anderen Origin zu holen ist der einzige Teil dieses Werkzeugs, der aus Gründen scheitern kann, die außerhalb deiner Kontrolle liegen — also scheitert er laut und erklärt sich.
Der Konverter probiert nacheinander zwei Strategien. Zuerst eine einfache fetch-Anfrage, die bevorzugt wird, weil sie die exakte Bytelänge zurückliefert — die angezeigte Originalgröße und Größenzunahme sind damit Messungen und keine Schätzungen. Danach das Laden über ein <img>-Element und Zeichnen auf ein Canvas, was greift, wenn der Host Cross-Origin-Zugriffe erlaubt, ein direkter fetch aber blockiert wurde.
Verbietet der Host den Cross-Origin-Zugriff, verweigert der Browser die Herausgabe der Pixeldaten und beide Strategien scheitern. Diese Verweigerung ist eine Sicherheitsrichtlinie des Browsers und kein Fehler des Werkzeugs; kein clientseitiger Code kann sie umgehen. Wenn es dazu kommt, bekommst du eine konkrete Erklärung und einen ebenso konkreten nächsten Schritt: das Bild herunterladen und den lokalen Upload nutzen, wo es gar keine Origin-Grenze zu überschreiten gibt.
Warum der Fallback nach PNG neu kodiert. Ein Canvas kann nur die Pixel exportieren, die es hält, nicht den ursprünglichen Container. Bilder, die über diesen Weg geladen werden, kommen als PNG zurück; ihre angegebene Base64-Größe ist daher näherungsweise und das angezeigte Format ist PNG, auch wenn die Quelle ein JPEG war. Der direkte fetch-Weg hat diesen Vorbehalt nicht.
Was mit einer Bild-URL Schritt für Schritt passiert| Schritt | Was das Werkzeug tut |
|---|
| Normalisieren | Entfernt Leerzeichen und ergänzt https://, wenn nur ein Hostname eingegeben wurde, sodass example.com/pic.png und https://example.com/pic.png beide funktionieren. |
|---|
| Abrufen | Fordert die Bytes ohne Anmeldedaten an. Ein Content-Type, der kein Bild ist, wird abgelehnt, bevor überhaupt kodiert wird. |
|---|
| Prüfen | Das Containerformat wird anhand der Magic Bytes der Datei erkannt statt dem Antwort-Header zu vertrauen, damit das Data-URI-Präfix nie im Widerspruch zur Nutzlast stehen kann, die es einleitet. |
|---|
| Kodieren | Die Bytes werden in Blöcken fester Größe nach Base64 umgewandelt, was verhindert, dass sehr große Bilder den Aufrufstapel sprengen. |
|---|