Lianja
Lianja
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 Lianja Downloads
llSuccess = .F.
loSb = createobject("CkStringBuilder")
loBd = createobject("CkBinData")
loSbFilename = createobject("CkStringBuilder")
lnIndex = 1
llSuccess = loSb.LoadFile("qa_data/html/oresp body.txt","utf-8")
// Assume success.
? "length = " + str(loSb.Length)
llMayHaveMore = .T.
do while llMayHaveMore = .T.
// Get the base64 between the 1st occurrence "data:image/png;base64," and "'"
lcSBase64 = loSb.GetBetween("data:image/png;base64,","'")
// If nothing is found, then we'll exit the loop because there are no more.
llMayHaveMore = loSb.LastMethodSuccess
if (loSb.LastMethodSuccess = .T.) then
// Found something.
// Load into bd and save.
llSuccess = loBd.LoadEncoded(lcSBase64,"base64")
loSbFilename.SetString("qa_output/png_")
loSbFilename.AppendInt(lnIndex)
loSbFilename.Append(".png")
loBd.WriteFile(loSbFilename.GetAsString())
// Replace "data:image/png;base64" with "data:image-png;base64" so the next iteration finds the next occurrence.
loSb.ReplaceFirst("data:image/png;base64","data:image-png;base64")
endif
lnIndex = lnIndex + 1
enddo
// Restore our replacements..
lnCount = loSb.Replace("data:image-png;base64","data:image/png;base64")
? "All done."
release loSb
release loBd
release loSbFilename