Ruby
Ruby
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 Ruby Downloads
require 'chilkat'
success = false
sb = Chilkat::CkStringBuilder.new()
bd = Chilkat::CkBinData.new()
sbFilename = Chilkat::CkStringBuilder.new()
index = 1
success = sb.LoadFile("qa_data/html/oresp body.txt","utf-8")
# Assume success.
print "length = " + sb.get_Length().to_s() + "\n";
mayHaveMore = true
while 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.get_LastMethodSuccess()
if (sb.get_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")
end
index = index + 1
end
# Restore our replacements..
count = sb.Replace("data:image-png;base64","data:image/png;base64")
print "All done." + "\n";