download method
void
download({
- String urlPath = '',
- String savePath = '',
- bool deleteOnError = true,
- String lengthHeader = Headers.contentLengthHeader,
- ProgressCallback? onReceiveProgress,
- dynamic data,
- Map<
String, dynamic> ? queryParameters, - CancelToken? cancelToken,
- Options? options,
- Function? onStart,
- Function? onError,
- Function? onFinish,
- bool publicMethod = true,
-----------------------------------------下载文件方法封装-------------------------------------------------------------
Implementation
void download({
String urlPath = '',
String savePath = '',
bool deleteOnError = true,
String lengthHeader = Headers.contentLengthHeader,
ProgressCallback? onReceiveProgress,
data,
Map<String, dynamic>? queryParameters,
CancelToken? cancelToken,
Options? options,
Function? onStart,
Function? onError,
Function? onFinish,
bool publicMethod = true
}) async{
try{
await _dio.download(
urlPath,
savePath,
deleteOnError: deleteOnError,
lengthHeader: lengthHeader,
data: data,
options: options,
queryParameters: queryParameters,
cancelToken: cancelToken,
onReceiveProgress: (int sent, int total){
onReceiveProgress?.call(sent, total);
},
);
}on DioError catch(e){
throw HttpError.dioError(e);
}catch(e){
if (e is HttpError) {
if(onError != null){
onError.call(e);
}else if (publicMethod) {
this._onError?.call(e);
}
if (onFinish != null) {
onFinish.call();
} else if(publicMethod){
this._onFinish?.call();
}
}
}
}