Dart
Dart
Example: Http.ResumeDownload method
Demonstrates theResumeDownload method.
Chilkat Dart Downloads
import 'package:chilkat/chilkat.dart';
void main() {
var success = false;
final http = CkHttp();
http.keepResponseBody = true;
// To demonstrate resuming a download, we've created a file on the chilkatsoft.com
// web server that contains the first 82,379 bytes of the full 279,658 bytes of the hamlet.xml file.
// We'll first download the partial file, and pretend it was a previous incomplete attempt to download the entire file.
final localFilePath = 'c:/temp/qa_output/hamlet.xml';
try {
http.download('https://www.chilkatsoft.com/testData/hamlet_partial.xml', localFilePath);
} on ChilkatException catch (e) {
print(e.lastErrorText);
return;
}
// Download the remainder of hamlet.xml.
success = true;
try {
http.resumeDownload('https://www.chilkatsoft.com/testData/hamlet.xml', localFilePath);
} on ChilkatException {
success = false;
}
final statusCode = http.lastStatus;
if (!success) {
if (statusCode == 0) {
// Unable to either send the request or get the response.
print(http.lastErrorText);
} else {
// We got a response, but the status code was not in the 200s
print('Response status code: $statusCode');
// Examine the response body.
print('Response body:');
print(http.lastResponseBody);
}
print('Download failed.');
} else {
print('Download success, response status = $statusCode');
}
// The hamlet.xml file should be 279,658 bytes
final fac = CkFileAccess();
print('size of hamlet.xml: ${fac.fileSize(localFilePath)}');
print('Success.');
}