我真的很困惑。颤抖很棒,但有些时候却停滞不前
所有代码均已完成。所选文件也显示在预览中,但我尝试将该文件保存在本地android存储中。我无法成功
Future getImage(ImageSource imageSource) async { var image = await ImagePicker.pickImage(source: imageSource); setState(() { _image = image; }); }
使用此代码选择文件,然后选择我的文件,_image现在我尝试使用path_provider进行存储,dart.io但无法获得保存方法。
_image
dart.io
使用await ImagePicker.pickImage(...),您已经走在正确的轨道上,因为该函数返回一个File。
await ImagePicker.pickImage(...)
File
本File类有一个copy方法,你可以用它来复制文件(已经由相机要么或躺在库保存在磁盘上),并把它放到你的申请文件目录:
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。
ImagePicker
image.path
newImage.path