Flutter Web 不支持 Image.file。如何从 Flutter Web 的图库/相机获取图像?

Swe*_*ain 4 flutter flutter-web flutter-image-picker

在 Chrome 网络浏览器上运行 Flutter 应用程序时出现以下错误。我从图库中挑选了一张图片:

  Future getImage() async {
    try {
      final image = await ImagePicker().pickImage(source: ImageSource.gallery);
      if (image == null) {
        return;
      }
      final imageTemp = XFile(image.path);
      setState(() => this._userImage = imageTemp);
    } on PlatformException catch (e) {
      e.stacktrace;
    }
  }
Run Code Online (Sandbox Code Playgroud)

代码:

  dynamic getUserImage() {
    if (_userImage?.path == null) {
      return const Icon(
        Icons.person,
        color: Colors.grey,
        size: 54,
      );
    } else {
      return Image.file(File(_userImage!.path));
    }
  }
Run Code Online (Sandbox Code Playgroud)

图像:

在此输入图像描述

我应该使用或更改什么来从网络图库或相机中选择图像?

use*_*290 6

尝试使用Image.network(image.path)代替,因为浏览器不支持访问用户的文件系统。

由于 Web 浏览器不提供对其用户文件系统的直接访问,因此该插件提供了 PickedFile 抽象,以使跨平台访问统一。

有关详细信息,请参阅Web 平台上的限制