一尘不染

如何在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但无法获得保存方法。


阅读 933

收藏
2020-08-13

共1个答案

一尘不染

使用await ImagePicker.pickImage(...),您已经走在正确的轨道上,因为该函数返回一个File

File类有一个copy方法,你可以用它来复制文件(已经由相机要么或躺在库保存在磁盘上),并把它放到你的申请文件目录:

// 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;
});

你也应该注意,你可以从映像文件的路径ImagePicker使用image.path,这也将包含结束,你可能要提取的文件,您可以通过保存图片的路径newImage.path

2020-08-13