Chilkat  HOME  Android™  Classic ASP  C  C++  C#  Mono C#  .NET Core C#  C# UWP/WinRT  DataFlex  Delphi ActiveX  Delphi DLL  Visual FoxPro  Java  Lianja  MFC  Objective-C  Perl  PHP ActiveX  PHP Extension  PowerBuilder  PowerShell  PureBasic  CkPython  Chilkat2-Python  Ruby  SQL Server  Swift 2  Swift 3,4,5...  Tcl  Unicode C  Unicode C++  Visual Basic 6.0  VB.NET  VB.NET UWP/WinRT  VBScript  Xojo Plugin  Node.js  Excel  Go
 
      (MFC) Extract data:image/png;base64 from HTMLDemonstrates how to extract base64 image data from HTMl and save to files.. 
 #include <CkStringBuilder.h> #include <CkBinData.h> void ChilkatSample(void) { CkString strOut; CkStringBuilder sb; CkBinData bd; CkStringBuilder sbFilename; int index = 1; bool success = sb.LoadFile("qa_data/html/oresp body.txt","utf-8"); // Assume success. strOut.append("length = "); strOut.appendInt(sb.get_Length()); strOut.append("\r\n"); bool mayHaveMore = true; while (mayHaveMore == true) { // Get the base64 between the 1st occurrence "data:image/png;base64," and "'" const char *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"); strOut.append("All done."); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); }  | 
  ||||
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.