startUpload method
开始上传
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);
}
}
}