Classic ASP
Classic ASP
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 Classic ASP Downloads
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0
set sb = Server.CreateObject("Chilkat.StringBuilder")
set bd = Server.CreateObject("Chilkat.BinData")
set sbFilename = Server.CreateObject("Chilkat.StringBuilder")
index = 1
success = sb.LoadFile("qa_data/html/oresp body.txt","utf-8")
' Assume success.
Response.Write "<pre>" & Server.HTMLEncode( "length = " & sb.Length) & "</pre>"
mayHaveMore = 1
Do While mayHaveMore = 1
' 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 = 1) Then
' Found something.
' Load into bd and save.
success = bd.LoadEncoded(sBase64,"base64")
success = sbFilename.SetString("qa_output/png_")
success = sbFilename.AppendInt(index)
success = sbFilename.Append(".png")
success = bd.WriteFile(sbFilename.GetAsString())
' Replace "data:image/png;base64" with "data:image-png;base64" so the next iteration finds the next occurrence.
success = sb.ReplaceFirst("data:image/png;base64","data:image-png;base64")
End If
index = index + 1
Loop
' Restore our replacements..
count = sb.Replace("data:image-png;base64","data:image/png;base64")
Response.Write "<pre>" & Server.HTMLEncode( "All done.") & "</pre>"
%>
</body>
</html>