dart - 如何在 Flutter 中保存图像文件?使用 Image_picker 插件选择的文件

我真的很困惑。 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.pathImagePicker 获取图像文件的路径,其中还将包含您可能想要的文件结尾提取,您可以使用 newImage.path 保存您的图像路径。

https://stackoverflow.com/questions/51338041/

相关文章:

flutter - 导航器使用 pushNamed 传递参数

flutter - 如何在 flutter 中创建没有应用栏的标签栏?

flutter - 键盘向上插入内容/调整屏幕大小

dart - Flutter - 通过滑动或按下 floatingActionButton 来展开

search - Flutter - 更改 SearchDelegate 的搜索提示文本

android - 如何在文本小部件 flutter 中显示 html 字符串

dart - 如何更改手机屏幕上的 flutter 应用程序名称显示?

google-maps - Flutter:如何使用新的 Marker API 向 Google M

dart - 在 Flutter 中显示全屏图像 onTap

flutter - 如何在 Flutter 的文本输入字段中配置自动大写行为?