React Native
React Native
Example: Http.ResumeDownload method
Demonstrates theResumeDownload method.
Chilkat React Native Downloads
import { FileAccess, Http } from '@chilkat/react-native'
async function chilkatExample() {
let success = false;
const http = new Http();
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.
const localFilePath = 'c:/temp/qa_output/hamlet.xml';
try {
await http.downloadAsync('https://www.chilkatsoft.com/testData/hamlet_partial.xml', localFilePath);
} catch {
console.log(http.lastErrorText);
return;
}
// Download the remainder of hamlet.xml.
success = true;
try {
await http.resumeDownloadAsync('https://www.chilkatsoft.com/testData/hamlet.xml', localFilePath);
} catch {
success = false;
}
const statusCode = http.lastStatus;
if (!success) {
if (statusCode === 0) {
// Unable to either send the request or get the response.
console.log(http.lastErrorText);
} else {
// We got a response, but the status code was not in the 200s
console.log(`Response status code: ${statusCode}`);
// Examine the response body.
console.log('Response body:');
console.log(http.lastResponseBody);
}
console.log('Download failed.');
} else {
console.log(`Download success, response status = ${statusCode}`);
}
// The hamlet.xml file should be 279,658 bytes
const fac = new FileAccess();
console.log(`size of hamlet.xml: ${fac.fileSize(localFilePath)}`);
console.log('Success.');
}