PowerShell
PowerShell
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 PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
$sb = New-Object Chilkat.StringBuilder
$bd = New-Object Chilkat.BinData
$sbFilename = New-Object Chilkat.StringBuilder
$index = 1
$success = $sb.LoadFile("qa_data/html/oresp body.txt","utf-8")
# Assume success.
$("length = " + $sb.Length)
$mayHaveMore = $true
while ($mayHaveMore -eq $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.LastMethodSuccess
if ($sb.LastMethodSuccess -eq $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..
$count = $sb.Replace("data:image-png;base64","data:image/png;base64")
$("All done.")