Flutter 在Flatter中使用createUserWithEmailAndPassword的新用户的默认配置文件图片
我正在尝试为每个选择signIn方法作为signinwithEmail的用户添加默认配置文件图片 这是我的密码:Flutter 在Flatter中使用createUserWithEmailAndPassword的新用户的默认配置文件图片,flutter,firebase-authentication,Flutter,Firebase Authentication,我正在尝试为每个选择signIn方法作为signinwithEmail的用户添加默认配置文件图片 这是我的密码: Future<FirebaseUser> signUpWithEmail(String email, String password) async { AuthResult authResult = await firebaseAuth.createUserWithEmailAndPassword( email: email, password:
Future<FirebaseUser> signUpWithEmail(String email, String password) async {
AuthResult authResult = await firebaseAuth.createUserWithEmailAndPassword(
email: email, password: password);
String url = 'assets/images/default_icon.png';
if (authResult != null) {
UserUpdateInfo updateInfo = UserUpdateInfo();
updateInfo.displayName = email;
updateInfo.photoUrl = url;
FirebaseUser firebaseUser = authResult.user;
if (firebaseUser != null) {
await firebaseUser.updateProfile(updateInfo);
await firebaseUser.reload();
FirebaseUser currentuser = await firebaseAuth.currentUser();
return currentuser;
}
}
return null;
}
Future signUpWithEmail(字符串电子邮件、字符串密码)异步{
AuthResult AuthResult=等待firebaseAuth.createUserWithEmailAndPassword(
电子邮件:电子邮件,密码:密码);
字符串url='assets/images/default_icon.png';
if(authResult!=null){
UserUpdateInfo updateInfo=UserUpdateInfo();
updateInfo.displayName=电子邮件;
updateInfo.photoUrl=url;
FirebaseUser FirebaseUser=authResult.user;
if(firebaseUser!=null){
等待firebaseUser.updateProfile(updateInfo);
等待firebaseUser.reload();
FirebaseUser currentuser=等待firebaseAuth.currentuser();
返回当前用户;
}
}
返回null;
}
我已将图像添加到我的资产文件夹中,但仍收到一个错误,原因如下:
══╡ 图像资源服务捕获到异常╞════════════════════════════════════════════════════
解析图像编解码器时引发以下ArgumentError:
无效参数:URI中未指定主机file:///assets/images/default_image.png
引发异常时,这是堆栈:
#0\u HttpClient.\u openUrl(dart:\u http/http\u impl.dart:2313:9)
#1\u HttpClient.getUrl(dart:\u http/http\u impl.dart:2208:48)
#2网络图像。加载异步(包:颤振/src/painting/\u网络图像\u io。dart:90:59)
#3 NetworkImage.load(包:颤振/src/painting/_网络图像\u io.dart:51:14)
#4 ImageProvider.resolveStreamForKey。(包装:颤振/src/painting/image_供应商。dart:505:13)
#5 ImageCache.putIfAbsent(包:flatter/src/painting/image\u cache.dart:360:22)
#6 ImageProvider.resolveStreamForKey(包:flift/src/painting/image\u provider.dart:503:80)
#7 ScrollAwareImageProvider.resolveStreamForKey(包:flatter/src/widgets/scroll\u-aware\u-image\u-provider.dart:108:19)
图像提供程序:NetworkImage(“assets/images/default_Image.png”,比例:1.0)
图像键:NetworkImage(“assets/images/default_Image.png”,比例:1.0)
════════════════════════════════════════════════════════════════════════════════════════════════════ 您保存在Firebase中的URL是本地映像资产的路径,无法传递到
NetworkImage
小部件
换句话说,本地映像不是有效的URL或托管在internet上,因此您不能在NetworkImage
小部件中使用它
现在,要解决您的问题,您可以做两件事:
方法,并使用Image.asset
而不是NetworkImage
你不能在网络映像中使用资产映像。我尝试添加网络映像,但仍然面临相同的问题。我的问题在重新构建应用程序后得到解决,它需要网络映像。好的,太好了。