upload method
void
upload({
- required String uploadUrl,
- required UploadProgressListener onSendProgress,
- required Map<
String, dynamic> data, - String method = 'POST',
- Map<
String, dynamic> ? headers, - int fakePreProcessMaxProgress = 30,
- int fakePreProcessProgressPeriodInMillisecond = 500,
- UploadProgressListener? onSendWithFakePreProcessProgress,
- UploadFailureListener? onFailure,
- UploadCompleteListener? onComplete,
Implementation
void upload({
required String uploadUrl,
required UploadProgressListener onSendProgress,
required Map<String, dynamic> data,
String method = 'POST',
Map<String, dynamic>? headers,
int fakePreProcessMaxProgress = 30,
int fakePreProcessProgressPeriodInMillisecond = 500,
UploadProgressListener? onSendWithFakePreProcessProgress,
UploadFailureListener? onFailure,
UploadCompleteListener? onComplete,
}) {
_worker.postMessage({
'method': method,
'uploadUrl': uploadUrl,
'data': data,
'headers': headers,
});
if (onSendWithFakePreProcessProgress != null) {
_timer = Timer.periodic(Duration(milliseconds: fakePreProcessProgressPeriodInMillisecond), (Timer timer) {
if (_fakeProgress != fakePreProcessMaxProgress) {
_fakeProgress++;
onSendWithFakePreProcessProgress.call(_fakeProgress);
} else {
_disposeTimerAndFakeProgress();
}
});
}
_worker.onMessage.listen((data) {
_handleCallbacks(data.data,
onSendProgress: onSendProgress,
fakePreProcessMaxProgress: fakePreProcessMaxProgress,
onSendWithFakePreProcessProgress: onSendWithFakePreProcessProgress,
onFailure: onFailure,
onComplete: onComplete);
});
}