downloadFile method
Implementation
Future<File> downloadFile({
required String name,
required String mimeExt,
required List<int> byte,
// bool openFile = true,
}) async {
final isGranted = await requestWriteExternalStoragePermission();
if (isGranted) {
try {
Directory? dir;
if (Platform.isIOS) {
dir = await getApplicationCacheDirectory();
} else {
dir = await getExternalStorageDirectory();
}
if (dir != null) {
var now = DateTime.now().millisecondsSinceEpoch;
var fileName = '$name-$now.$mimeExt';
final file = File('${dir.path}/$fileName');
var raf = file.openSync(mode: FileMode.write);
raf.writeFromSync(byte);
await raf.close();
// if (openFile) {
OpenFile.open(file.path);
// }
return file;
} else {
throw "Failed to get local directory";
}
} catch (e) {
rethrow;
}
} else {
throw "Permission refused";
}
}