Xojo Plugin
Xojo Plugin
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 Xojo Plugin Downloads
Dim success As Boolean
success = False
Dim sb As New Chilkat.StringBuilder
Dim bd As New Chilkat.BinData
Dim sbFilename As New Chilkat.StringBuilder
Dim index As Int32
index = 1
success = sb.LoadFile("qa_data/html/oresp body.txt","utf-8")
// Assume success.
System.DebugLog("length = " + Str(sb.Length))
Dim mayHaveMore As Boolean
mayHaveMore = True
While mayHaveMore = True
// Get the base64 between the 1st occurrence "data:image/png;base64," and "'"
Dim sBase64 As String
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) Then
// Found something.
// Load into bd and save.
success = bd.LoadEncoded(sBase64,"base64")
success = sbFilename.SetString("qa_output/png_")
success = sbFilename.AppendInt(index)
success = sbFilename.Append(".png")
success = bd.WriteFile(sbFilename.GetAsString())
// Replace "data:image/png;base64" with "data:image-png;base64" so the next iteration finds the next occurrence.
success = sb.ReplaceFirst("data:image/png;base64","data:image-png;base64")
End If
index = index + 1
Wend
// Restore our replacements..
Dim count As Int32
count = sb.Replace("data:image-png;base64","data:image/png;base64")
System.DebugLog("All done.")