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) Decode Base64 Image String (GIF, JPG, etc.) and Save to FileI have an XML response that includes a base 64 encoded image string (UPS label). It's a huge string and I need to save it as a gif file on my users pc. This example shows how to do it..
#include <CkBinData.h> #include <CkXml.h> void ChilkatSample(void) { CkString strOut; CkBinData bd; // I created an extra-small GIF image for this example.. bool success = bd.LoadFile("qa_data/gif/xsmall.gif"); if (success != true) { strOut.append("Failed to load GIF image file."); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Show GIF bytes as base64: strOut.append(bd.getEncoded("base64")); strOut.append("\r\n"); // This particular GIF in base64 is this: // R0lGODlhBQAFAMQAAAAAAP////z8/PHx8evr6+jo6OHh4d7e3sPDw8LCwpqamo2NjWxsbGRkZFpaWk1NTUtLS0hISCwsLCQkJP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABQALAAAAAAFAAUAAAUTYCAYQUBAU1lI0TIgztE8jFImIQA7 // Let's begin with an XML string: const char *x = "<abc><def>R0lGODlhBQAFAMQAAAAAAP////z8/PHx8evr6+jo6OHh4d7e3sPDw8LCwpqamo2NjWxsbGRkZFpaWk1NTUtLS0hISCwsLCQkJP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABQALAAAAAAFAAUAAAUTYCAYQUBAU1lI0TIgztE8jFImIQA7</def></abc>"; CkXml xml; success = xml.LoadXml(x); // Get the base64 string: const char *gifBase64 = xml.getChildContent("def"); strOut.append(gifBase64); strOut.append("\r\n"); // Load bd with the base64 decoded bytes. bd.Clear(); bd.AppendEncoded(gifBase64,"base64"); // Save to a GIF file. success = bd.WriteFile("qa_output/xsmall.gif"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.