方法 getImage 未定义

时间:2020-12-21 21:38:18

标签: flutter dart imagepicker

我正在使用 image_picker 0.6.7+17 库以使用手机摄像头拍摄图像。
我使用的是 android 设备而不是 ios 设备。

问题

似乎没有定义 getImage 方法,我从 docs 中获取了这个确切的代码:

  final picker = ImagePicker();

  Future getImage() async {
    final pickedFile = await picker.getImage(source: ImageSource.camera);
  }

我收到此错误:

lib/pickers/image_picker.dart:17:37: Error: The method 'getImage' isn't defined for the class 
'ImagePicker'.
 - 'ImagePicker' is from 'package:chat_app/pickers/image_picker.dart' 
('lib/pickers/image_picker.dart').
Try correcting the name to the name of an existing method, or defining a method named 'getImage'.
final pickedFile = await picker.getImage(source: ImageSource.camera);
                                ^^^^^^^^

到目前为止我做了什么:

  • 将依赖项添加到我的 pubspec.yaml: 文件
dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.0
  cloud_firestore: 0.13.5
  firebase_auth: 0.16.1
  image_picker: ^0.6.7+17
  • android:requestLegacyExternalStorage="true" 添加到 AndroidManifest.xml 文件

  • 还导入了 import 'package:image_picker/image_picker.dart' 以使用此库


可能是什么问题?

4 个答案:

答案 0 :(得分:3)

您确定您使用的 ImagePicker 不是此 package:chat_app/pickers/image_picker.dart 中的那个吗?可能存在类名冲突,您必须重命名自己的 ImagePicker

答案 1 :(得分:3)

您正在尝试使用带有指定使用新 API 的插件版本的旧 API。 旧 API

File image = await ImagePicker.pickImage(...)

新 API

final _picker = ImagePicker();
.
.
.
PickedFile image = await _picker.getImage(...)

答案 2 :(得分:1)

我通过定义这样的选择器解决了同样的问题

LINESTRING

然后使用这个

 final picker = ImagePicker();

答案 3 :(得分:-1)

只需升级到最新版本的 image_picker。 并将 getImage 替换为 pickImage bcz getImage 已弃用。

相关问题