Вопросы

Flutter загружает изображение в хранилище firebase, а затем записывает его в хранилище firestore

Я делаю программу, в которой при регистрации пользователя им необходимо загрузить изображение в хранилище firebase, а затем все данные для входа и URL-адрес изображения будут записаны в firestore, как только изображение будет загружено, это мой код:

void signUp(String _email, String _password, File image) async {
  await _auth
      .createUserWithEmailAndPassword(email: _email, password: _password)
      .then((result) async{
    await uploadImage(image).then((value) {
      _firestore.collection('users').doc(result.user.uid).set({
      'uid': result.user.uid,
      'email': result.user.email,
      'imageUrl' : value!=null?value:""
    });
    });

Future<String> uploadImage(File image) async{
    String fileName = p.basename(image.path);
    Reference storageRef = _fstorage.ref().child('upload/$fileName');
    UploadTask uploadTask = storageRef.putFile(image);
    await uploadTask.whenComplete((){
      storageRef.getDownloadURL().then((imageUrl) { 
        return imageUrl!=null?imageUrl:"";
        });
    });
  }

Проблема в том, что значение imageUrl, написанное в документе firestore, всегда пусто, даже если файл изображения успешно загружен, любые советы будут приняты во внимание. Благодарность

Вы пытались распечатать значения после загрузки? Возвращает ли он URL?   —  person Jolzal    schedule 08.12.2020

Читать:
Облачная функция firebase добавить в корзину Reactjs?

Похожие записи

Доступ запрещен при выполнении файла PUT с использованием предварительно подписанного URL-адреса S3

admin

Вызов функции Flutter Cloud с параметрами

admin

Как загружать / редактировать / запускать / сохранять текстовые файлы (.py) в ячейку записной книжки IPython?

admin

Случайным образом назначить boost::ptr_vector

admin

Разветвление с GitHub на Bitbucket

admin