Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSb
LOCAL loBd
LOCAL loSbFilename
LOCAL lnIndex
LOCAL lnMayHaveMore
LOCAL lcSBase64
LOCAL lnCount

lnSuccess = 0

loSb = CreateObject('Chilkat.StringBuilder')
loBd = CreateObject('Chilkat.BinData')
loSbFilename = CreateObject('Chilkat.StringBuilder')
lnIndex = 1

lnSuccess = loSb.LoadFile("qa_data/html/oresp body.txt","utf-8")
* Assume success.
? "length = " + STR(loSb.Length)

lnMayHaveMore = 1
DO WHILE lnMayHaveMore = 1

    * Get the base64 between the 1st occurrence "data:image/png;base64," and "'"
    lcSBase64 = loSb.GetBetween("data:image/png;base64,","'")

    * If nothing is found, then we'll exit the loop because there are no more.
    lnMayHaveMore = loSb.LastMethodSuccess

    IF (loSb.LastMethodSuccess = 1) THEN
        * Found something.
        * Load into bd and save.
        lnSuccess = loBd.LoadEncoded(lcSBase64,"base64")

        loSbFilename.SetString("qa_output/png_")
        loSbFilename.AppendInt(lnIndex)
        loSbFilename.Append(".png")

        loBd.WriteFile(loSbFilename.GetAsString())

        * Replace "data:image/png;base64" with "data:image-png;base64" so the next iteration finds the next occurrence.
        loSb.ReplaceFirst("data:image/png;base64","data:image-png;base64")
    ENDIF

    lnIndex = lnIndex + 1
ENDDO

* Restore our replacements..
lnCount = loSb.Replace("data:image-png;base64","data:image/png;base64")

? "All done."

RELEASE loSb
RELEASE loBd
RELEASE loSbFilename