getDefaultLocalUrl method
Implementation
String? getDefaultLocalUrl() {
var cacheDir = CommonUtils.appFileDir;
String filePath = UUID ?? '';
String filePathOld = UUID ?? '';
if (Platform.isAndroid) {
var separator = UUID?.contains('.') == true ? '' : '_';
filePath = 'file_$UUID$separator${Uri.encodeComponent(fileName ?? "").replaceAll('%20', '+')}';
} else if (Platform.isIOS) {
String filePathPrefix = '${CommonUtils.getSDKAppID()}/${CommonUtils.getLoginUser()}';
filePath = '$filePathPrefix/$UUID/${fileName ?? ""}';
filePathOld = '$filePathPrefix/$UUID/${Uri.encodeComponent(fileName ?? "")}';
} else if (Platform.isMacOS) {
String filePathPrefix = '${CommonUtils.getSDKAppID()}/${CommonUtils.getLoginUser()}';
filePath = '$filePathPrefix/$UUID/${fileName ?? ""}';
} else if (Platform.isWindows) {
String filePathPrefix = 'TencentCloudChat/DownLoad/${CommonUtils.getSDKAppID()}/${CommonUtils.getLoginUser()}';
filePath = '$filePathPrefix/$UUID/$fileName';
} else if (Platform.operatingSystem == 'ohos') {
filePath = 'file_${Uri.encodeComponent(fileName ?? "")}';
}
var defaultLocalUrl = '${cacheDir.path}/$filePath';
if (File(defaultLocalUrl).existsSync()) {
return defaultLocalUrl;
}
if (Platform.isAndroid && CommonUtils.externalCacheDir != null) {
defaultLocalUrl = '${CommonUtils.externalCacheDir!.parent.path}/cache/$filePath';
if (File(defaultLocalUrl).existsSync()) {
return defaultLocalUrl;
}
}
if (Platform.isIOS) {
var localUrlOld = '${cacheDir.path}/$filePathOld';
if (renameFile(localUrlOld, defaultLocalUrl)) {
return defaultLocalUrl;
}
}
return null;
}