因此,我正在创建一个表单,人们可以将个人资料图片上传到Firebase。我希望它像profile_image_url: 'urlstringvalue'
一样上传。但是它是这样上传的:
这就是我创建表单的方式:
ngOnInit() {
this.signUpFormGroup = this._formBuilder.group({
profile_image_url: ''
});
} 和html:
<form [formGroup]="signUpFormGroup">
<div class="form_input" >
<label for="invoice-upload" class="bold-800 document-upload text-center"
*ngIf="!signUpFormGroup.get('profile_image_url').value">+<br>
<div class="upload text-center">upload</div>
<input formGroupName="profile_image_url" (change)="uploadProfileImage($event)" type="file" class="input-file" id="invoice-upload">
</label>
<img
[src]="signUpFormGroup.get('profile_image_url').value" alt="" class="document-image">
</div>
</form>
我这样存储网址:
uploadProfileImage(file) {
this._storage.uploadFile(file, `user/${this._auth.currentUserId}/profile`)
.subscribe(() => {
this._storage.downloadURL.subscribe(url => {
this.signUpFormGroup.get('profile_image_url').patchValue(url);
});
});
}
,然后按如下所示最后上传到firebase数据库:
setProfileImageAndGender(profile_image_url: string) {
return fromPromise(this.afs.collection('users').doc(this.userDb.uid)
.update({
profile_image_url,
}, ));
}
任何人都知道为什么它创建对象而不是仅传递字符串吗?