如何通过Flutter中的Gallery Saver保存后获取路径

vmjh9lq9  于 2023-04-13  发布在  Flutter
关注(0)|答案(1)|浏览(243)

初学者如何在flutter中通过gallery_saver packege获取存储的图像路径

decoration: InputDecoration(
                      border: InputBorder.none,
                      suffixIcon: InkWell(
                        onTap: () async {
                          final snackBar = SnackBar(
                            content: Text('Video Uploading'),
                          );
                          ScaffoldMessenger.of(context).showSnackBar(snackBar);
                          File v = File(widget.path);
                          File videoFile = File(v.path);

                          print('Recorder audio: $videoFile');
                      var response =   await GallerySaver.saveVideo(widget.path, albumName: "consolidated");
                          print("Nischal : $response");
                          
                        
                          context.pop();

我正在从存储文件中获取布尔值

/flutter (31440): Recorder audio: File: '/data/user/0/com.mycompany.consolidated/cache/REC7346318815602084408.mp4'
I/flutter (31440): Nischal : true
cngwdvgl

cngwdvgl1#

我遇到了同样的问题。我无法从gallery_saver中检索路径。我最终使用image_gallery_saver。它也返回一个布尔值,但是你可以指定保存路径。因为你有savePath变量,所以你可以根据你的用例使用它。
在我的用例中,我需要共享一个视频。为了与我们正在使用的包共享它,我们首先必须保存视频,然后使用savePath来定位和共享文件。
以下是使用此包保存媒体的示例:

var appDocDir = await getTemporaryDirectory();
      savePath = "${appDocDir.path}/${video.name}";
      await Dio().download(video.url, savePath);
      await ImageGallerySaver.saveFile(savePath);

注意:要复制这个例子,你需要diopath_provider包。
在本例中,我们使用getTemporaryDirectory()创建一个savePath变量。我们使用视频名称,即“video.mp4”作为路径的唯一扩展名。我们使用Dio从url下载视频(这也可以通过本地媒体完成。有关详细信息,请参阅包),然后我们使用image_gallery_saver将视频保存到设备。我们现在可以成功保存视频,并且我们有进一步用例的路径。

相关问题