downloadFile<T> method

Future<T> downloadFile<T>(
  1. String url,
  2. dynamic savePath, {
  3. dynamic onReceiveProgress(
    1. int progress,
    2. int total
    )?,
  4. Options? options,
  5. Map<String, dynamic>? queryParameters,
})

下载文件, url 下载路径的地址 savePath 保存路径的地址 onReceiveProgress 下载进度回调

Implementation

Future<T> downloadFile<T>(String url, savePath,
    {Function(int progress, int total)? onReceiveProgress,
    Options? options,
    Map<String, dynamic>? queryParameters}) async {
  var cancelToken = CancelToken();
  try {
    Response<dynamic> response = await _dio.download(url, savePath,
        onReceiveProgress: onReceiveProgress,
        cancelToken: cancelToken,
        options: options,
        queryParameters: queryParameters);
    return response.statusCode as T;
  } catch (e) {
    return Future.error(e);
  } finally {
    cancelToken.cancel();
  }
}