|
@@ -530,16 +530,26 @@ public class RNFetchBlobReq extends BroadcastReceiver implements Runnable {
|
530
|
530
|
}
|
531
|
531
|
break;
|
532
|
532
|
case FileStorage:
|
|
533
|
+ ResponseBody responseBody = resp.body();
|
|
534
|
+
|
533
|
535
|
try {
|
534
|
536
|
// In order to write response data to `destPath` we have to invoke this method.
|
535
|
537
|
// It uses customized response body which is able to report download progress
|
536
|
538
|
// and write response data to destination path.
|
537
|
|
- resp.body().bytes();
|
|
539
|
+ responseBody.bytes();
|
538
|
540
|
} catch (Exception ignored) {
|
539
|
541
|
// ignored.printStackTrace();
|
540
|
542
|
}
|
541
|
|
- this.destPath = this.destPath.replace("?append=true", "");
|
542
|
|
- callback.invoke(null, RNFetchBlobConst.RNFB_RESPONSE_PATH, this.destPath);
|
|
543
|
+
|
|
544
|
+ RNFetchBlobFileResp rnFetchBlobFileResp = (RNFetchBlobFileResp) responseBody;
|
|
545
|
+
|
|
546
|
+ if(rnFetchBlobFileResp != null && rnFetchBlobFileResp.isDownloadComplete() == false){
|
|
547
|
+ callback.invoke("RNFetchBlob failed. Download interrupted.", null);
|
|
548
|
+ }
|
|
549
|
+ else {
|
|
550
|
+ this.destPath = this.destPath.replace("?append=true", "");
|
|
551
|
+ callback.invoke(null, RNFetchBlobConst.RNFB_RESPONSE_PATH, this.destPath);
|
|
552
|
+ }
|
543
|
553
|
break;
|
544
|
554
|
default:
|
545
|
555
|
try {
|