download method

Future download(
  1. String url,
  2. String savePath, {
  3. void onReceiveProgress(
    1. double
    )?,
  4. Map<String, dynamic>? queryParameters,
  5. CancelToken? cancelToken,
  6. bool deleteOnError = true,
  7. String lengthHeader = Headers.contentLengthHeader,
  8. Object? data,
  9. Options? options,
})

下载文件

Implementation

Future download(
  String url,
  String savePath, {
  void Function(double)? onReceiveProgress,
  Map<String, dynamic>? queryParameters,
  CancelToken? cancelToken,
  bool deleteOnError = true,
  String lengthHeader = Headers.contentLengthHeader,
  Object? data,
  Options? options,
}) async {
  try {
    isDownloading = true;
    return await _dio.download(
      url,
      savePath,
      cancelToken: cancelToken ?? _cancelToken,
      queryParameters: queryParameters,
      deleteOnError: deleteOnError,
      lengthHeader: lengthHeader,
      data: data,
      options: options,
      onReceiveProgress: (received, total) {
        if (total != -1) {
          double process = received / total;
          if (onReceiveProgress != null) {
            onReceiveProgress(process);
          }
        }
      },
    );
  } catch (e) {
    rethrow;
  } finally {
    isDownloading = false;
  }
}