diff --git a/lib/helper/save_file_mobile_desktop.dart b/lib/helper/save_file_mobile_desktop.dart index d862929..c88d321 100644 --- a/lib/helper/save_file_mobile_desktop.dart +++ b/lib/helper/save_file_mobile_desktop.dart @@ -14,9 +14,17 @@ Future saveAndLaunchFile(List bytes, String fileName) async { Platform.isIOS || Platform.isLinux || Platform.isWindows) { - final Directory directory = - await path_provider.getApplicationSupportDirectory(); - path = directory.path; + if (Platform.isAndroid) { + final Directory? directory = + await path_provider.getExternalStorageDirectory(); + if (directory != null) { + path = directory.path; + } + } else { + final Directory directory = + await path_provider.getApplicationSupportDirectory(); + path = directory.path; + } } else { path = await path_provider_interface.PathProviderPlatform.instance .getApplicationSupportPath(); diff --git a/lib/helper/save_file_web.dart b/lib/helper/save_file_web.dart new file mode 100644 index 0000000..59f773f --- /dev/null +++ b/lib/helper/save_file_web.dart @@ -0,0 +1,12 @@ +import 'dart:async'; +import 'dart:convert'; +import 'dart:html'; + +///To save the excel sheet in the web platform. +Future saveAndLaunchFile(List bytes, String fileName) async { + AnchorElement( + href: + 'data:application/octet-stream;charset=utf-16le;base64,${base64.encode(bytes)}') + ..setAttribute('download', fileName) + ..click(); +}