startUpload method

Future<void> startUpload([
  1. UploadHelperListener? uploadHandler
])

开始上传

Implementation

Future<void> startUpload([UploadHelperListener? uploadHandler]) async {
  if (isUploading) {
    return;
  }
  _isUploading = true;
  try {
    uploadHandler?.onUploadStart(this);
    await _upload(uploadHandler);
    uploadHandler?.onUploadComplete(this);
    _isUploading = false;
  } catch (e, st) {
    _isUploading = false;
    if (uploadHandler != null) {
      uploadHandler.onUploadError(this, e, st);
    } else {
      logError('上传出错', e, st);
    }
    _currentRetryCount++;
    if (_currentRetryCount < totalRetryCount) {
      await Future.delayed(Duration(seconds: 1));
      await startUpload(uploadHandler);
    }
  }
}