dealFilePath static method

Future<String> dealFilePath(
  1. FileDownloader config
)

Implementation

static Future<String> dealFilePath(FileDownloader config) async {
  if (config.filePath != null && config.filePath!.isNotEmpty) {
    return config.filePath!;
  }

  String saveDir = await dealSaveDir(config);
  config.saveDir = saveDir;

  String name = dealFileName(config.url);

  File file = File('$saveDir/$name');

  if (await file.exists()) {
    config.filePath = file.path;
  } else {
    try {
      await file.create(recursive: true);
      config.filePath = file.path;
    } catch (e) {
      print('${e.runtimeType}, ${e.toString()}, ${file.path}');
      rethrow;
    }
  }

  return file.path;
}