VBScript
VBScript
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 VBScript Downloads
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)
success = 0
set sb = CreateObject("Chilkat.StringBuilder")
set bd = CreateObject("Chilkat.BinData")
set sbFilename = CreateObject("Chilkat.StringBuilder")
index = 1
success = sb.LoadFile("qa_data/html/oresp body.txt","utf-8")
' Assume success.
outFile.WriteLine("length = " & sb.Length)
mayHaveMore = 1
Do While mayHaveMore = 1
' 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 = 1) 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
Loop
' Restore our replacements..
count = sb.Replace("data:image-png;base64","data:image/png;base64")
outFile.WriteLine("All done.")
outFile.Close