应用程序保存的图像未显示在图库中

时间:2020-12-19 11:01:09

标签: image flutter dart flutter-image

我试图在flutter中创建一个whatsapp状态保护程序。我试图保存 whatsapp 状态。我在 /storage/emulated/0/statuses/ 中创建了一个文件夹 statuses 并且复制过程顺利。但该图像未显示在图库应用中。

所以我什至尝试将它存储在 DCIM/Camera 中,但它仍然没有出现在那里。但是当使用文件资源管理器复制相同的图像时,该图像会显示在图库应用程序中。我认为图片属性有问题。

用于保存的代码在这里。

saveFile(filePath) async {
    String newFilename;
    File originalFile = File(filePath);
    Directory _directory = await getExternalStorageDirectory();
    if (!Directory("/storage/emulated/0/statuses/").existsSync()) {
      Directory("/storage/emulated/0/statuses/")
          .createSync(recursive: false);
    }
    String curDate = DateTime.now().toString();
    newFilename = "/storage/emulated/0/statuses/VIDEO-$curDate.jpg";

    await originalFile.copy(newFilename).then((value) {
      print("Saved: " + newFilename);
    });
  }

1 个答案:

答案 0 :(得分:1)

当您更换媒体时,您应该告诉设备重新扫描。此 image saver plugin 将通知 Android 操作系统有关已保存媒体的信息。

如果你不想要插件,你可以使用平台渠道自己编写原生代码。

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + Environment.getExternalStorageDirectory())));

此问题已在 herehere 中讨论。