createFileOfPdfUrl static method

Future<File?> createFileOfPdfUrl(
  1. String url
)

Implementation

static Future<File?> createFileOfPdfUrl(String url) async {
  Completer<File> completer = Completer();
  ConditionalLogs().customLog("Start download file from internet!");
  try {
    progressDialog(Get.context!, "");
    url = url.replaceFirst(invoiceReplaceFrom(), invoiceReplaceTo());
    final filename = url.substring(url.lastIndexOf("/") + 1);
    var request = await HttpClient().getUrl(Uri.parse(url));
    request.headers.set(
      "Authorization",
      "Bearer ${SecureStorageService.readSecureData(
        SecureStorageService.accessToken,
      )}",
    );
    var response = await request.close();
    var bytes = await consolidateHttpClientResponseBytes(response);
    var dir = await getTemporaryDirectory();
    ConditionalLogs().customLog("Download files");
    ConditionalLogs().customLog("${dir.path}/$filename.pdf");
    File file = File("${dir.path}/$filename.pdf");
    await file.writeAsBytes(bytes, flush: true);
    close();
    completer.complete(file);
  } catch (e) {
    close();
    throw Exception('Error parsing asset file!');
  }

  return completer.future;
}