getFile method

Future<String> getFile(
  1. String url, {
  2. FileType fileType = FileType.image,
  3. bool returnAllPath = true,
})

获取图片,并保存图片到本地,并返回图片 returnAllPath: true全部,false:只返回后半部分

Implementation

Future<String> getFile(
  String url, {
  FileType fileType = FileType.image,
  bool returnAllPath = true,
}) async {
  try {
    documentsDirectory ??= await getApplicationSupportDirectory();
    final String systemDir = documentsDirectory!.path;
    final String cacheDir = _getCachePath(fileType: fileType);
    final String urlMd5 = _getUrlMd5(url, fileType: fileType);
    final File file = File("$systemDir$cacheDir/$urlMd5");
    if (!file.existsSync()) {
      // 不存在先保存
      await _saveFile(url, file, "$systemDir$cacheDir/$urlMd5");
    }
    if (returnAllPath) return "$systemDir$cacheDir/$urlMd5";
    return "$cacheDir/$urlMd5";
  } catch (_) {
    return '';
  }
}