我真的很困惑。 Flutter 很棒,但有些时间卡住了
所有代码都完成了。选定的文件也显示在预览中,但我尝试将该文件保存在本地 android 存储中。我无法获得成功
Future getImage(ImageSource imageSource) async {
var image = await ImagePicker.pickImage(source: imageSource);
setState(() {
_image = image;
});
}
使用此代码和我在 _image
中的文件选择文件现在我尝试使用 path_provider 和 dart.io
进行存储,但我无法获得保存方法。
最佳答案
使用 await ImagePicker.pickImage(...)
,您已经在正确的轨道上,因为该函数返回 File
.
File
类有一个 copy
method ,您可以使用它来复制文件(已通过相机或通过画廊保存在磁盘上)并将其放入您的应用程序文档目录中:
// using your method of getting an image
final File image = await ImagePicker.pickImage(source: imageSource);
// getting a directory path for saving
final String path = await getApplicationDocumentsDirectory().path;
// copy the file to a new path
final File newImage = await image.copy('$path/image1.png');
setState(() {
_image = newImage;
});
您还应该注意,您可以使用 image.path
从 ImagePicker
获取图像文件的路径,其中还将包含您可能想要的文件结尾提取,您可以使用 newImage.path
保存您的图像路径。
关于dart - 如何在 Flutter 中保存图像文件?使用 Image_picker 插件选择的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51338041/