如何在 Flutter 中将 PickedFile 类型的图像保存为图像?

Aak*_*nki 15 dart flutter

我想设置从相机获取图像并将其设置为以下代码:

image: DecorationImage(image: FileImage(file),
Run Code Online (Sandbox Code Playgroud)

所以我这样做了:

File file = await ImagePicker.pickImage(
  source: ImageSource.camera,
);
Run Code Online (Sandbox Code Playgroud)

现在上面的代码现在可以正常工作,但不推荐使用 'pickImage',我们应该改用 imagePicker.getImage() 方法。

所以我用 imagePicker.getImage() 代替:

PickedFile file = await ImagePicker().getImage(
  source: ImageSource.camera,
);
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将此文件设置为以下图像类型时,它不起作用

image: DecorationImage(image: FileImage(file),)
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

use*_*816 23

您需要使用所选文件的路径属性

image: DecorationImage(image: FileImage(File(file.path)),)
Run Code Online (Sandbox Code Playgroud)


Bli*_*Dev 13

如果有人可能会遇到类似的问题

从 pickImage 更改为 getImage 并且仍然需要一个文件。

PickedFile selectedFile = await ImagePicker().getImage(source: source);
File selected = File(selectedFile.path);
Run Code Online (Sandbox Code Playgroud)


Anm*_*hah 5

我遇到了类似的问题,其中

await ImagePicker.pickImage( source: ImageSource.camera, );

已弃用,我必须使用

await ImagePicker().getImage( source: ImageSource.camera, );

但是当我想保存它时出现了问题,所以如果有人陷入困境,我使用了这个 hack

final savedImage = File(imageFile.path).copy('${appDir.path}/$fileName');

这是我的代码的一部分...