(JavaScript) Extract data:image/png;base64 from HTML
Demonstrates how to extract base64 image data from HTMl and save to files.
var success = false;
var sb = new CkStringBuilder();
var bd = new CkBinData();
var sbFilename = new CkStringBuilder();
var index = 1;
success = sb.LoadFile("qa_data/html/oresp body.txt","utf-8");
// Assume success.
console.log("length = " + sb.Length);
var mayHaveMore = true;
while (mayHaveMore == true) {
// Get the base64 between the 1st occurrence "data:image/png;base64," and "'"
var 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..
var count = sb.Replace("data:image-png;base64","data:image/png;base64");
console.log("All done.");
|