Изображение профиля не сохраняется и не подходит правильно - PullRequest
0 голосов
/ 06 августа 2020

Я делаю страницу профиля и не понимаю, почему выбранное мной изображение не сохраняется и не умещается правильно на месте. Я использовал этот код для загрузки изображения

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

    setState(() {
      _image = File(pickedFile.path);
    });
  }
    Future uploadPic(BuildContext context) async {
        String fileName = basename(_image.path);
        StorageReference firebaseStorageRef =
            FirebaseStorage.instance.ref().child(fileName);
        StorageUploadTask uploadTask = firebaseStorageRef.putFile(_image);
        StorageTaskSnapshot taskSnapshot = await uploadTask.onComplete;
        setState(() {
          print("Profile Picture uploaded");
          Scaffold.of(context).showSnackBar(SnackBar(
            content: Text('Profile Picture Uploaded'),
          ));
        });
      }

но я не знаю, как я могу вызвать здесь функцию для автоматического сохранения

child: Container(
                  height: 84,
                  width: 84,

                  //profilepic
                  child: GestureDetector(
                    onTap: _getImage,
                    child: CircleAvatar(
                        radius: 100,
                        child: ClipOval(
                          child: (_image != null)
                              ? Image.file(
                                  _image,
                                  fit: BoxFit.fill,
                                )
                              : Image.network(
                                  'https://icon-library.com/images/add-image-icon/add-image-icon-14.jpg',
                                  fit: BoxFit.fill,
                                ),
                        )),
                  ),
                ),

И когда я выбираю фотографию, она не подходит правильно и выглядит так введите описание изображения здесь

1 Ответ

0 голосов
/ 06 августа 2020

Я перечитал ваш вопрос, и чтобы вызвать вашу функцию uploadPic(), сделайте функцию onTap следующим образом:

onTap: (){
  uploadPic(context);
}

Что касается остальной части кода, мне нужно знать, как выглядит CircleAvatar и _getImage.

...