gpt4 book ai didi

android - 保存ImagePicker文件路径并将其用作背景

转载 作者:行者123 更新时间:2023-12-03 03:26:28 25 4
gpt4 key购买 nike

我正在开发一种Flutter应用程序,该应用程序允许用户设置自己选择的背景图片,并“永久保留直到用户对其进行更改”。

如果用户离开页面并返回该图像,则暂时使用Image.file(pickedImage)将会被关闭。

我已经实现了图像选择器,并尝试将图像文件存储在sharedpreferences中,但是我错了。ImagePicker返回的是Image File,而不是Image File Path。

如何获取选取的图像文件路径并将其用作背景?

最佳答案

当ImagePicker返回文件时,它会返回您注意到的File对象。该文件位于应用外部,并且可能是临时文件(即可以随时移动/删除/删除)-它可能会保留一段时间,但您不应依赖该文件。

相反,在用户选择了镜像之后,您应该将其复制到应用程序的存储目录,然后从那里开始对其进行访问。

为此,请按照flutter reading/writing files documentation中的说明进行操作。但基本上,您想做的是使用path_provider librarygetApplicationDocumentsDirectory方法获取本地目录,然后调用file.copy(<path under application document directory>),文件为您从图像选择器接收的文件,而应用程序文档目录下的路径为您想要的任何内容。


var image = await ImagePicker.pickImage(source: ImageSource.camera);
Directory appDocDir = await getApplicationDocumentsDirectory();
String bgPath = appDocDir.uri.resolve("background.jpg").path;
File bgFile = await image.copy(bgPath);

拥有该文件后,您要做的就是将bgFile的路径保存到您的SharedProperties中(或者理论上,您可以每次对其进行硬编码并覆盖它)
新图像已加载-由您决定,尽管这种方法可能会遇到以下问题
文件开关)。然后,您将从共享属性中加载bg文件路径并使用它。

希望有帮助=)。

关于android - 保存ImagePicker文件路径并将其用作背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53211261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com