菜鸟教程小白 发表于 2022-12-12 14:00:13

ios - 在 Firebase 上保存与用户关联的个人资料图片


                                            <p><p>我正在使用适用于 iOS 的 Firebase
在我的应用程序上,用户必须将照片与他的个人资料相关联
在 MySQL 上有 BLOB 类型来保存数据库中的图像
但是在 Firebase 上我找不到这样的东西</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><pre><code>guard let uid = Auth.auth().currentUser?.uid else {return}
guard let imageData = UIImageJPEGRepresentation(profilePic, 0.5) else {return}
      let profileImgReference = Storage.storage().reference().child(&#34;profile_image_urls&#34;).child(&#34;\(uid).png&#34;)
      let uploadTask = profileImgReference.putData(imageData, metadata: nil) { (metadata, error) in
            if let error = error {
                print(error.localizedDescription)
            } else {
                let downloadURL = metadata?.downloadURL()?.absoluteString ?? &#34;&#34;
                // Here you get the download url of the profile picture.
            }
      }
      uploadTask.observe(.progress, handler: { (snapshot) in
            print(snapshot.progress?.fractionCompleted ?? &#34;&#34;)
            // Here you can get the progress of the upload process.
      })
</code></pre>

<p>第 1 步:使用 <code>UIImageJPEGRepresentation(UIImage, compressionQuality)</code> 或 <code>UIImagePNGRepresentation(UIImage)</code></p> 将 UIImage 转换为 Jpeg 数据或 PNG 数据

<p>第 2 步:创建存储引用。在上面的示例中,我使用了 <code>Storage.storage().reference()</code> 来获取当前 Firebase 应用程序的存储引用,然后我使用 <code>.child("FolderName ")</code></p>

<p>第 3 步:使用 Firebase Storage 的 <code>.putData</code> 函数将图像数据上传到 Firebase 存储。您可以捕获任务引用(即 uploadTask)以观察上传进度。</p>

<p>//注意:我使用 Firebase 用户 ID 作为图像名称,因为每个用户 ID 对于 firebase Auth 都是唯一的,并且不会出现不匹配的个人资料图片替换或意外删除。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 Firebase 上保存与用户关联的个人资料图片,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/47031464/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/47031464/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 Firebase 上保存与用户关联的个人资料图片