import 'dart:io'; import 'package:permission_handler/permission_handler.dart'; // only tested on android! class FileSaver { static Future getExternalDocumentPath() async { var permission = await Permission.storage.status; if(!permission.isGranted) { await Permission.storage.request(); } var directory = Directory('/storage/emulated/0/Download'); final externalPath = directory.path; await Directory(externalPath).create(recursive: true); return externalPath; } static Future writeBytes(List bytes, String name) async { final path = await getExternalDocumentPath(); var file = File('$path/$name'); return file.writeAsBytes(bytes); } }