更新 photoURL Firebase v9 web,反应 Javascript
Update photoURL Firebase v9 web, react Javascript
我正在按照 Udemy firebase Udemy 教程使用 javascript 创建 firebase 网络应用程序并做出反应。课程 material 有点过时了。我想知道如何更改用户的照片 URL - 他们使用电子邮件和密码注册,我有一个单独的挂钩来处理注册信息。
下面是 Udemy 课程提供的用于更新用户照片 URL 的代码 - 有谁知道我将如何在 Firebase v9 中编写此代码?谢谢!
// upload user thumbnail
const uploadPath = `thumbnails/${res.user.uid}/${thumbnail.name}`
const img = await projectStorage.ref(uploadPath).put(thumbnail)
const imgUrl = await img.ref.getDownloadURL()
// add display AND PHOTO_URL name to user
await res.user.updateProfile({ displayName, photoURL: imgUrl })
从 v9 之前的版本重写到 v9 通常非常简单,特别是如果您遵循 upgrade guide or compare the v8 and v9 samples in the documentation on uploading files.
在您的代码中,此 v8 代码:
const uploadPath = `thumbnails/${res.user.uid}/${thumbnail.name}`
const img = await projectStorage.ref(uploadPath).put(thumbnail)
const imgUrl = await img.ref.getDownloadURL()
// add display AND PHOTO_URL name to user
await res.user.updateProfile({ displayName, photoURL: imgUrl })
在 v9 及更高版本中变成这样:
const uploadPath = `thumbnails/${res.user.uid}/${thumbnail.name}`
const img = await uploadBytes(ref(projectStorage, uploadPath, thumbnail))
const imgUrl = await getDownloadUrl(img.ref)
// add display AND PHOTO_URL name to user
await updateProfile(res.user, { displayName, photoURL: imgUrl })
如果仔细观察,您会发现大部分更改只是将命名空间 object.operation()
方法调用移动到 modular/functional operation(object)
形式。除此之外,这里最大的区别是 put
现在称为 uploadBytes
。
我正在按照 Udemy firebase Udemy 教程使用 javascript 创建 firebase 网络应用程序并做出反应。课程 material 有点过时了。我想知道如何更改用户的照片 URL - 他们使用电子邮件和密码注册,我有一个单独的挂钩来处理注册信息。
下面是 Udemy 课程提供的用于更新用户照片 URL 的代码 - 有谁知道我将如何在 Firebase v9 中编写此代码?谢谢!
// upload user thumbnail
const uploadPath = `thumbnails/${res.user.uid}/${thumbnail.name}`
const img = await projectStorage.ref(uploadPath).put(thumbnail)
const imgUrl = await img.ref.getDownloadURL()
// add display AND PHOTO_URL name to user
await res.user.updateProfile({ displayName, photoURL: imgUrl })
从 v9 之前的版本重写到 v9 通常非常简单,特别是如果您遵循 upgrade guide or compare the v8 and v9 samples in the documentation on uploading files.
在您的代码中,此 v8 代码:
const uploadPath = `thumbnails/${res.user.uid}/${thumbnail.name}`
const img = await projectStorage.ref(uploadPath).put(thumbnail)
const imgUrl = await img.ref.getDownloadURL()
// add display AND PHOTO_URL name to user
await res.user.updateProfile({ displayName, photoURL: imgUrl })
在 v9 及更高版本中变成这样:
const uploadPath = `thumbnails/${res.user.uid}/${thumbnail.name}`
const img = await uploadBytes(ref(projectStorage, uploadPath, thumbnail))
const imgUrl = await getDownloadUrl(img.ref)
// add display AND PHOTO_URL name to user
await updateProfile(res.user, { displayName, photoURL: imgUrl })
如果仔细观察,您会发现大部分更改只是将命名空间 object.operation()
方法调用移动到 modular/functional operation(object)
形式。除此之外,这里最大的区别是 put
现在称为 uploadBytes
。