- 创建文件夹
static Future<String> saveVoiceDirectory(String url) async { requestPermission(); final filepath = await getApplicationDocumentsDirectory(); var file = Directory(filepath.path + "/" + url); try { bool exists = await file.exists(); if (!exists) { await file.create(); print("创建成功"); } else { print("已存在"); } } catch (e) { print(e); } return file.path.toString(); }
- getApplicationDocumentsDirector需要倒入 path_provider: path_provider: ^1.6.10
-
创建文件
saveVoiceDirectory("flutter").then((value) { File file = new File( value + "/" + "${DateTime.now().millisecondsSinceEpoch}.pcm"); if (!file.existsSync()) { file.createSync(); } }); -
文件权限
static Future requestPermission() async { if (await Permission.contacts.request().isGranted) { // Either the permission was already granted before or the user just granted it. } // You can request multiple permissions at once. Map<Permission, PermissionStatus> statuses = await [ Permission.storage, ].request(); print(statuses[Permission.storage]); }
- 倒入权限库: permission_handler: ^5.0.1+1