Sample code for 30+ languages & platforms
Dart

Example: Http.DownloadAppend method

Demonstrates the DownloadAppend method.

Chilkat Dart Downloads

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

void main() {
  final targetPath = 'c:/temp/qa_output/download.txt';

  final http = CkHttp();
  http.keepResponseBody = true;

  // Assume the target file in the local filesystem does not yet exist.
  http.downloadAppend('https://chilkatsoft.com/testData/helloWorld.txt', targetPath);
  var statusCode = http.lastStatus;
  if (statusCode == 0) {
    // Unable to either send the request or get the response.
    print(http.lastErrorText);
    return;
  }

  // Should be 200.
  print('Response status code: $statusCode');

  // Examine the contents of the file.
  final sb = CkStringBuilder();
  sb.loadFile(targetPath, 'utf-8');
  print(sb.getAsString());

  // Output: 
  // Response status code: 200
  // Hello World!

  // Download another text file and append to the target file.
  http.downloadAppend('https://chilkatsoft.com/testData/this_is_a_test.txt', targetPath);
  statusCode = http.lastStatus;
  if (statusCode == 0) {
    // Unable to either send the request or get the response.
    print(http.lastErrorText);
    return;
  }

  // Should be 200.
  print('Response status code: $statusCode');

  // Examine the contents of the file.
  sb.loadFile(targetPath, 'utf-8');
  print(sb.getAsString());

  // Output:
  // Response status code: 200
  // Hello World!This is a Test.

  // Delete the local target file.
  final fac = CkFileAccess();
  fac.fileDelete(targetPath);

  // Try to download a file that does not exist:
  http.downloadAppend('https://chilkatsoft.com/testData/does_not_exist.txt', targetPath);
  statusCode = http.lastStatus;
  if (statusCode == 0) {
    // Unable to either send the request or get the response.
    print(http.lastErrorText);
  } else {
    // We got a response, and we already know it wasn't a 200 success response.
    // It should be a 404 not found.
    print('Response status code: $statusCode');
    // Examine the response body.
    print('Response body:');
    print(http.lastResponseBody);
  }
}