download method

Future<BaseModel> download(
  1. String path,
  2. String savePath, {
  3. bool? loading,
  4. dynamic tag,
  5. Options? options,
  6. ProgressCallback? onReceiveProgress,
  7. CancelToken? cancelToken,
  8. Object? data,
  9. bool dataToJson = true,
  10. Map<String, dynamic>? params,
  11. bool deleteOnError = true,
  12. String lengthHeader = Headers.contentLengthHeader,
})

文件下载 File download

Implementation

Future<BaseModel> download(
  String path,
  String savePath, {
  bool? loading,
  dynamic tag,
  Options? options,
  ProgressCallback? onReceiveProgress,
  CancelToken? cancelToken,
  Object? data,
  bool dataToJson = true,
  Map<String, dynamic>? params,
  bool deleteOnError = true,
  String lengthHeader = Headers.contentLengthHeader,
}) async {
  assert(_singleton != null, '请先调用 initialize');
  if (await checkNetwork) return buildBaseModel;
  _addLoading(loading);
  data = baseDioOptions.extraData?.call(path, data) ?? data;
  final res = await dio.download(path, savePath,
      onReceiveProgress: onReceiveProgress,
      options: _mergeOptions(options, path),
      data: dataToJson ? jsonEncode(data) : data,
      deleteOnError: deleteOnError,
      lengthHeader: lengthHeader,
      cancelToken: cancelToken);
  return _handleResponse(res, tag);
}