我正在使用 imagepicker 来捕获图像,我已经实现了声音空安全性并将其传递到第二页,但是当尝试在第二页上显示图像时出现错误:参数类型“文件?” 不能分配给参数类型“文件”。
请帮忙,谢谢:)
下面是代码片段
// 第 1 页:变量语句和 getImage 函数
File? _image;
final _picker = ImagePicker();
Future getImage() async {
Map<Permission, PermissionStatus> statuses = await [
Permission.camera,
].request();
if (await Permission.camera.request().isGranted) {
PickedFile? _pickedFile = await _picker.getImage(
source: ImageSource.camera, maxHeight: 1920, maxWidth: 1080);
setState(() {
_image = File(_pickedFile!.path);
});
}}
// 第 1 页:执行 getImage 函数的按钮
ElevatedButton(
onPressed: () async {
await getImage();
Navigator.push(context, MaterialPageRoute(builder: (context) {
return SecondPage(image: _image);
})); //callback
},
// 第二页类
class SecondPage extends StatefulWidget {
File? image;
//c'tor
SecondPage({
Key? key,
@required this.image,
}) : super(key: key);
@override
_SecondPageState createState() => _SecondPageState();
}
// 在显示错误的第二页正文中
SizedBox(
width: 300,
height: 265,
child: Image.file(widget.image),
),