我真的很困惑。 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
保存您的图像路径。
https://stackoverflow.com/questions/51338041/
相关文章:
flutter - 导航器使用 pushNamed 传递参数
flutter - 如何在 flutter 中创建没有应用栏的标签栏?
dart - Flutter - 通过滑动或按下 floatingActionButton 来展开
search - Flutter - 更改 SearchDelegate 的搜索提示文本
android - 如何在文本小部件 flutter 中显示 html 字符串
dart - 如何更改手机屏幕上的 flutter 应用程序名称显示?
google-maps - Flutter:如何使用新的 Marker API 向 Google M