uploadFile method

Future<UploadFileResult> uploadFile({
  1. required UploadFileRequest request,
  2. void onProgress(
    1. TransferProgress
    )?,
})

Implementation

Future<UploadFileResult> uploadFile(
    {required UploadFileRequest request,
    void Function(TransferProgress)? onProgress}) async {
  try {
    if (onProgress != null) {
      _transferProgressionCallbackMap[request.uuid] = onProgress;
    }

    final Map<String, dynamic>? data =
        (await _channel.invokeMapMethod<String, dynamic>(
      'uploadFile',
      request.serializeAsMap(),
    ));
    if (data == null) {
      throw AmplifyException(
          AmplifyExceptionMessages.nullReturnedFromMethodChannel);
    }
    UploadFileResult result = _formatUploadFileResult(data);
    return result;
  } on PlatformException catch (e) {
    throw _convertToStorageException(e);
  } finally {
    _transferProgressionCallbackMap.remove(request.uuid);
  }
}