downloadUri method

Future<BaseModel> downloadUri(
  1. Uri uri,
  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> downloadUri(
  Uri uri,
  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 = jsonEncode(baseDioOptions.extraUriData?.call(uri, data) ?? data);
  uri = baseDioOptions.extraUri?.call(uri) ?? uri;
  final res = await dio.downloadUri(uri, savePath,
      onReceiveProgress: onReceiveProgress,
      options: _mergeOptions(options, uri.path),
      data: dataToJson ? jsonEncode(data) : data,
      deleteOnError: deleteOnError,
      lengthHeader: lengthHeader,
      cancelToken: cancelToken);
  return _handleResponse(res, tag);
}