如何将文件复制到存储?Flutter

jgwigjjp  于 2023-02-16  发布在  Flutter
关注(0)|答案(1)|浏览(256)

我想将一个音频文件复制到存储器中的音乐文件夹。我有音频所在的路径,如“/data/user/0/app/audioFile”,我正在传递给函数“audioPath”。我需要帮助才能完成此函数,我该怎么办?

void _downloadAudio(audioPath) async {
  var file = File(audioPath);
  //get the music folder
  await file.copy(music folder path);
}
798qvoo8

798qvoo81#

您可以使用dart:io库中的getExternalStorageDirectory方法获取设备上外部存储目录的路径。您可以在此存储要在应用之间共享或用户可访问的文件。如音乐文件。然后,您可以使用此路径构造所需音乐文件夹的完整路径。此处'这是将音频文件复制到音乐文件夹的功能的更新版本:

import 'dart:io';

void _downloadAudio(String audioPath) async {
  var file = File(audioPath);

  // Get the external storage directory
  final externalStorageDirectory = await getExternalStorageDirectory();

  // Construct the full path to the music folder
  final musicFolderPath = '${externalStorageDirectory.path}/Music';

  // Check if the music folder exists, and create it if it doesn't
  final musicFolder = Directory(musicFolderPath);
  if (!await musicFolder.exists()) {
    await musicFolder.create();
  }

  // Copy the audio file to the music folder
  await file.copy('$musicFolderPath/${file.basename}');
}

请注意,访问外部存储目录需要READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE权限,因此,如果您的应用尚不具备这些权限,则需要向用户请求这些权限。

相关问题