downloadMediaToLocalCache function
Download locally the file and return the file path if succes, or null if error.
Implementation
Future<String?> downloadMediaToLocalCache(String mediaUrl, String mediaName) async {
final tempDir = getTempDir;
if (tempDir != null) {
String savePath = "${tempDir.path}/$mediaName";
try {
var dio = Dio();
if (getShowLogs) {
developer.log('📦 downloading media: $mediaUrl', name: 'Cached Media package');
}
final response = await dio.download(mediaUrl, savePath);
if (response.statusCode == 200) {
return savePath;
}
return null;
} on DioError {
if (getShowLogs) {
developer.log('❌ Dio Error - media : $mediaUrl', name: 'Cached Media package');
}
return null;
} catch (e) {
if (getShowLogs) {
developer.log('❌ Error - media : $mediaUrl', name: 'Cached Media package');
}
}
} else {
if (getShowLogs) {
developer.log('❌ Temp directory not found!', name: 'Cached Media package');
}
}
return null;
}