Java
Java
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 Java Downloads
import com.chilkatsoft.*;
public class ChilkatExample {
static {
try {
System.loadLibrary("chilkat");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
boolean success = false;
CkStringBuilder sb = new CkStringBuilder();
CkBinData bd = new CkBinData();
CkStringBuilder sbFilename = new CkStringBuilder();
int index = 1;
success = sb.LoadFile("qa_data/html/oresp body.txt","utf-8");
// Assume success.
System.out.println("length = " + sb.get_Length());
boolean mayHaveMore = true;
while (mayHaveMore == true) {
// Get the base64 between the 1st occurrence "data:image/png;base64," and "'"
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.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");
}
index = index+1;
}
// Restore our replacements..
int count = sb.Replace("data:image-png;base64","data:image/png;base64");
System.out.println("All done.");
}
}