Base64-codierte Bilder in Go dekodieren
Beim Arbeiten mit Canvas ist es möglich, eine Base64-Bilddaten-URL zu erhalten. Wenn Sie jedoch versuchen, dieses Bild mit image.DecodeConfig() zu dekodieren, kann die Fehlermeldung „Unbekanntes Bildformat“ auftreten.
Dieses Problem tritt auf, weil die Daten-URL zusätzliche Informationen enthält, die über die Base64-kodierten Bilddaten hinausgehen. Um das Bild korrekt zu dekodieren, müssen Sie das Präfix entfernen:
// Remove the data URL prefix input := strings.Replace(req.PostFormValue("dataurl"), "data:image/png;base64,", "", 1)
Zusätzlich müssen Sie den PNG-Bildformat-Handler registrieren, bevor Sie image.DecodeConfig() aufrufen. Dies kann erreicht werden mit:
import _ "image/png"
Alternativ können Sie png.DecodeConfig() direkt verwenden, wenn Sie das genaue Bildformat kennen.
Beispiel:
import _ "image/png" reader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(input)) imageConfig, _, err := image.DecodeConfig(reader) if err != nil { log.Fatal(err) }
Indem Sie diese Schritte befolgen, können Sie Base64-kodierte Bilder erfolgreich dekodieren und deren Breite und Höhe ermitteln.
Das obige ist der detaillierte Inhalt vonWie dekodiere ich Base64-kodierte Bilder in Go richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!