downloadFile method
dynamic
downloadFile(})
Implementation
/*
* 下载文件
*/
downloadFile(urlPath, savePath,{Function(int count, int total)? onProgress,
Function()? onSuccess,Function(Exception e)? onFail,Map<String, dynamic>? params,}) async {
Response response;
var options = BaseOptions(
connectTimeout: 15000,
receiveTimeout: 15000,
responseType: ResponseType.plain,
validateStatus: (status){
// 不使用http状态码判断状态,使用AdapterInterceptor来处理(适用于标准REST风格)
return true;
},
// baseUrl: Constant.BASE_URL,
// contentType: ContentType('application', 'x-www-form-urlencoded', charset: 'utf-8'),
);
Dio _dio2 = Dio(options);
/// 统一添加身份验证请求头
// _dio2.interceptors.add(AuthInterceptor());
// /// 刷新Token
// _dio2.interceptors.add(TokenInterceptor());
// /// 打印Log
// _dio2.interceptors.add(LoggingInterceptor());
// /// 适配数据
// _dio2.interceptors.add(AdapterInterceptor());
try {
response = await _dio2.download(urlPath, savePath,data: params,onReceiveProgress: (int count, int total){
//进度
print("下载文件进度-->$count $total");
if(onProgress!=null)onProgress(count,total);
});
if(onSuccess!=null)onSuccess();
print('downloadFile success---------${response.data}');
} on DioError catch (e) {
print('downloadFile error---------$e');
// formatError(e);
if(onFail!=null)onFail(e);
}
// return response.data;
}