Flutter image_picker에서 처음 발생하는 오류Failed assertion: line 853 pos 14: 'file != null': is not true.

5688 단어 DartFlutter

이미지가 반드시 설정되어 있지 않으면 오류가 발생합니다.



처음 image_picker 를 사용해 보면, 대부분 발생하는 에러. . .

이러한 코드의 경우 이미지가 선택되지 않았기 때문에 오류가 발생합니다.

════════ Exception caught by widgets library ═══════════════════════════════════
'package:flutter/src/painting/image_provider.dart': Failed assertion: line 853 pos 14: 'file != null': is not true.
The relevant error-causing widget was
UserImagePicker
lib/…/auth/auth_form.dart:60
════════════════════════════════════════════════════════════════════════════════
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';

class UserImagePicker extends StatefulWidget {
  @override
  _UserImagePickerState createState() => _UserImagePickerState();
}

class _UserImagePickerState extends State<UserImagePicker> {
  File _pickedImage;
  void _pickImage() async {
    final pickedImage =
        await ImagePicker().getImage(source: ImageSource.gallery);
    final pickedImageFile = File(pickedImage.path);
    setState(() {
      _pickedImage = pickedImageFile;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        CircleAvatar(
          radius: 40,
          backgroundImage: FileImage(_pickedImage),
        ),
        TextButton.icon(
          onPressed: _pickImage,
          icon: Icon(Icons.image),
          label: Text(
            'Add Image',
            style: TextStyle(color: Theme.of(context).primaryColor),
          ),
        ),
      ],
    );
  }
}

"null의 경우"를 추가하는 것만으로 해결!



만약 null이 아니면 왼쪽( FileImage(_pickedImage) ), null이면 오른쪽( null )

라고하는 처리로 해결입니다!
 CircleAvatar(
          radius: 40,
          backgroundImage:
              _pickedImage != null ? FileImage(_pickedImage) : null,
        ),

좋은 웹페이지 즐겨찾기