Sample code for 30+ languages & platforms
Go

Extract data:image/png;base64 from HTML

See more Base64 Examples

Demonstrates how to extract base64 image data from HTMl and save to files.

Chilkat Go Downloads

Go
    success := false

    sb := chilkat.NewStringBuilder()
    bd := chilkat.NewBinData()
    sbFilename := chilkat.NewStringBuilder()
    index := 1

    success = sb.LoadFile("qa_data/html/oresp body.txt","utf-8")
    // Assume success.
    fmt.Println("length = ", sb.Length())

    mayHaveMore := true
    for mayHaveMore == true {

        // Get the base64 between the 1st occurrence "data:image/png;base64," and "'"
        sBase64 := sb.GetBetween("data:image/png;base64,","'")

        // If nothing is found, then we'll exit the loop because there are no more.
        mayHaveMore = sb.LastMethodSuccess()

        if sb.LastMethodSuccess() == true {
            // Found something.
            // Load into bd and save.
            success = bd.LoadEncoded(*sBase64,"base64")

            sbFilename.SetString("qa_output/png_")
            sbFilename.AppendInt(index)
            sbFilename.Append(".png")

            bd.WriteFile(*sbFilename.GetAsString())

            // Replace "data:image/png;base64" with "data:image-png;base64" so the next iteration finds the next occurrence.
            sb.ReplaceFirst("data:image/png;base64","data:image-png;base64")
        }

        index = index + 1
    }

    // Restore our replacements..
    count := sb.Replace("data:image-png;base64","data:image/png;base64")

    fmt.Println("All done.")

    sb.DisposeStringBuilder()
    bd.DisposeBinData()
    sbFilename.DisposeStringBuilder()