Похоже, что когда вы звоните updateProfilePic
, вы передаете value.ref.getDownloadURL()
, который фактически возвращает будущее, а не URL. Вам нужно await
или then
, чтобы получить путь к строке.
Я думаю, что если вы введете параметры своей функции, вы увидите предупреждение о несовпадающих типах. Попробуйте
Future updateProfilePic(String picUrl) async {}
вместо
Future updateProfilePic(picUrl) async {}
Если пользователю разрешена только одна запись user
, я бы избавился от
Firestore.instance
.collection('users')
.where('uid', isEqualTo: user.uid)
.getDocuments()
и замените его на
Firestore.instance.collection('users').document(user.uid).update(/* */)