Sample code for 30+ languages & platforms
Java

Decode Base64 Image String (GIF, JPG, etc.) and Save to File

I 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..

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.BinData;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Xml;

public class ChilkatExample {

    public static void main(String[] args) {
        BinData bd = new BinData();

        // I created an extra-small GIF image for this example..
        try {
            bd.loadFile("qa_data/gif/xsmall.gif");
        } catch (ChilkatException e) {
            System.out.println("Failed to load GIF image file.");
            return;
        }

        // Show GIF bytes as base64:
        System.out.println(bd.getEncoded("base64"));

        // This particular GIF in base64 is this:
        // R0lGODlhBQAFAMQAAAAAAP////z8/PHx8evr6+jo6OHh4d7e3sPDw8LCwpqamo2NjWxsbGRkZFpaWk1NTUtLS0hISCwsLCQkJP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABQALAAAAAAFAAUAAAUTYCAYQUBAU1lI0TIgztE8jFImIQA7

        // Let's begin with an XML string:
        String x = "<abc><def>R0lGODlhBQAFAMQAAAAAAP////z8/PHx8evr6+jo6OHh4d7e3sPDw8LCwpqamo2NjWxsbGRkZFpaWk1NTUtLS0hISCwsLCQkJP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABQALAAAAAAFAAUAAAUTYCAYQUBAU1lI0TIgztE8jFImIQA7</def></abc>";

        Xml xml = new Xml();
        xml.loadXml(x);

        // Get the base64 string:
        String gifBase64 = xml.getChildContent("def");

        System.out.println(gifBase64);

        // Load bd with the base64 decoded bytes.
        bd.clear();
        bd.appendEncoded(gifBase64, "base64");

        // Save to a GIF file.
        bd.writeFile("qa_output/xsmall.gif");
    }
}