startProcessWithUpload method

Future<void> startProcessWithUpload({
  1. required String faceApiUrl,
  2. required XFile image,
  3. String mode = "match",
  4. DocumentReaderConfig? documentReaderConfig,
  5. dynamic onError(
    1. GetVerifiedException
    )?,
  6. dynamic onTransactionIds(
    1. String? faceTransactionId,
    2. String? docTransactionId
    )?,
})

Implementation

Future<void> startProcessWithUpload({
  required String faceApiUrl,
  required XFile image,
  String mode = "match",
  DocumentReaderConfig? documentReaderConfig,
  Function(GetVerifiedException)? onError,
  Function(String? faceTransactionId, String? docTransactionId)?
  onTransactionIds,
}) async {
  _onError = onError;
  _onTransactionIds = onTransactionIds;
  // for the image, it accepts Uint8List but what we have is file
  try {
    var bytes = await image.readAsBytes();
    docReaderSdkSteps.recognize(
      image: bytes,
      faceApiUrl: faceApiUrl,
      handleCompletion: handleCompletionWithUpload,
    );
  } catch (e, stackTrace) {
    if (_onError != null) {
      _onError!(
        ConfigurationException(
          "Failed to process uploaded image: $e",
          code: core_error.ErrorCodes.scanFailed,
          originalError: e,
          stackTrace: stackTrace,
        ),
      );
    }
  }
}