getFileStorageDirectory static method

Future<String> getFileStorageDirectory({
  1. FileStorageDirectoryType? type,
  2. String? fileName,
  3. String? subPath = '',
})

获取文件存储路径

Implementation

static Future<String> getFileStorageDirectory({
  FileStorageDirectoryType? type,
  String? fileName,
  String? subPath = '',
}) async {
  Directory? path = await getPlatformFileStorageDirectory();
  String result = path!.path;
  try {
    if (type == null) return result;
    switch (type) {
      case FileStorageDirectoryType.av:
        result = p.join(result, 'av', subPath);
        break;
      case FileStorageDirectoryType.img:
        result = p.join(result, 'img', subPath);
        break;
      case FileStorageDirectoryType.file:
        result = p.join(result, 'file', subPath);
        break;
      case FileStorageDirectoryType.log:
        result = p.join(result, 'log', subPath);
        break;
    }
    return fileName == null ? result : p.join(result, fileName.replaceAll('/', '_'));
  } catch (e, s) {
    LogService.instance.reportError('获取临时下载路径', e, s);
    return result;
  }
}