Sample code for 30+ languages & platforms
Dart

REST Download Binary File to Memory

See more REST Examples

Download a binary file to a Chilkat BinData object.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final rest = CkRest();

  // We're going to download a sample MS-Word doc file.
  // The URLs of our MS-Word sample documents are:

  // https://www.chilkatdownload.com/sample_data/sample.doc
  // https://www.chilkatdownload.com/sample_data/sample.docx

  final pathPartOfUrl = '/sample_data/sample.doc';
  final domain = 'chilkatdownload.com';

  final bTls = true;
  final port = 443;
  final bAutoReconnect = true;
  try {
    rest.connect(domain, port, bTls, bAutoReconnect);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final bd = CkBinData();
  try {
    rest.fullRequestNoBodyBd('GET', pathPartOfUrl, bd);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // A 200 response is expected for actual success.
  // If we don't get a 200 response, then the response body was not actually
  // the file data, but it was text containing error information.
  if (rest.responseStatusCode != 200) {
    final sbErrorText = CkStringBuilder();
    sbErrorText.appendBd(bd, 'utf-8', 0, 0);
    print(sbErrorText.getAsString());
    print('-- Failed.');
    return;
  }

  // Save to a local file.
  // Change the file path based on your operating system or needs...
  try {
    bd.writeFile('c:/temp/qa_output/sample.doc');
  } on ChilkatException {
    print('Failed to save to local file.');
    return;
  }

  print('REST Download of MS-Word File was successful.');
}