Swift
Swift
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 Swift Downloads
func chilkatTest() {
var success: Bool = false
let sb = CkoStringBuilder()!
let bd = CkoBinData()!
let sbFilename = CkoStringBuilder()!
var index: Int = 1
success = sb.loadFile(path: "qa_data/html/oresp body.txt", charset: "utf-8")
// Assume success.
print("length = \(sb.length.intValue)")
var mayHaveMore: Bool = true
while mayHaveMore == true {
// Get the base64 between the 1st occurrence "data:image/png;base64," and "'"
var sBase64: String? = sb.getBetween(beginMark: "data:image/png;base64,", endMark: "'")
// 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(encData: sBase64, encoding: "base64")
sbFilename.setString(value: "qa_output/png_")
sbFilename.appendInt(value: index)
sbFilename.append(value: ".png")
bd.writeFile(path: sbFilename.getAsString())
// Replace "data:image/png;base64" with "data:image-png;base64" so the next iteration finds the next occurrence.
sb.replaceFirst(value: "data:image/png;base64", replacement: "data:image-png;base64")
}
index = index + 1
}
// Restore our replacements..
var count: Int = sb.replace(value: "data:image-png;base64", replacement: "data:image/png;base64").intValue
print("All done.")
}