Sample code for 30+ languages & platforms
Java

Download a Binary File into Memory

See more Azure Cloud Storage Examples

Downloads a binary file into memory.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.AuthAzureStorage;
import com.chilkatsoft.chilkat2.BinData;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Rest;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // Azure File Service Example: Download a Binary File to Memory
        // See:  https://docs.microsoft.com/en-us/rest/api/storageservices/get-file

        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Rest rest = new Rest();

        // Connect to the Azure Storage Blob Service
        boolean bTls = true;
        int port = 443;
        boolean bAutoReconnect = true;
        // In this example, the storage account name is "chilkat".
        try {
            rest.connect("chilkat.file.core.windows.net", port, bTls, bAutoReconnect);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Provide Azure Cloud credentials for the REST calls.
        AuthAzureStorage azAuth = new AuthAzureStorage();
        azAuth.setAccessKey("AZURE_ACCESS_KEY");
        // The account name used here should match the 1st part of the domain passed in the call to Connect (above).
        azAuth.setAccount("chilkat");
        azAuth.setScheme("SharedKey");
        azAuth.setService("File");
        // This causes the "x-ms-version: 2021-08-06" header to be automatically added.
        azAuth.setXMsVersion("2021-08-06");
        rest.setAuthAzureStorage(azAuth);

        // Note: The application does not need to explicitly set the following
        // headers: x-ms-date, Authorization.  These headers
        // are automatically set by Chilkat.

        // Send a GET request to download the file "penguins.jpg" to a BinData object.
        // (The share name is "pip")
        BinData bdFileContents = new BinData();
        try {
            rest.fullRequestNoBodyBd("GET", "/pip/wildlife/antarctic/penguins.jpg", bdFileContents);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // When successful, the response status will be 200.
        // If a non-success status code is returned, then the bdFileContents actually contains the XML error message.
        if (rest.getResponseStatusCode() != 200) {
            // Examine the request/response to see what happened.
            System.out.println("response status code = " + rest.getResponseStatusCode());
            System.out.println("response status text = " + rest.getResponseStatusText());
            System.out.println("response header: " + rest.getResponseHeader());
            StringBuilder sbXmlErr = new StringBuilder();
            sbXmlErr.appendBd(bdFileContents, "utf-8", 0, 0);
            System.out.println("response body (if any): " + sbXmlErr.getAsString());
            System.out.println("---");
            System.out.println("LastRequestStartLine: " + rest.getLastRequestStartLine());
            System.out.println("LastRequestHeader: " + rest.getLastRequestHeader());
            return;
        }

        System.out.println("Size of the downloaded file = " + bdFileContents.getNumBytes());

        // See the online reference documentation for the BinData class for ways
        // to access the bytes.

        bdFileContents.writeFile("qa_output/penguins.jpg");
    }
}