OGeek|极客世界-中国程序员成长平台

标题: ios - 通过 URL 从 Swift 上的 Firebase 下载图像时横向加载 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:06
标题: ios - 通过 URL 从 Swift 上的 Firebase 下载图像时横向加载

我目前正在从 Firebase 上传和下载图片。我将 URL 作为字符串存储在变量 profilePicture 中,然后使用 URL session 下载图像。但是,每次照片都横向加载。但是,当我最初从相机胶卷中挑选图片时,它以正确的方式显示。对可能发生的事情有任何想法吗?

上传图片: 当我上传图片时,一旦完全保存,我将 URL 设置为变量 profilePicture。

    var storageRef : FIRStorageReference = FIRStorageReference()
    if let uid = currentUser?.uid {
        storageRef = FIRStorage.storage().reference().child("\(uid).png")
    }

    if let uploadData = UIImagePNGRepresentation(profilePictureImageView.image!) {

        let uploadTask = storageRef.put(uploadData, metadata: nil) { snapshot, error in
            if let error = error {
                print(error)
            }
        }

        // Shows progress bar until saved
        uploadTask.observe(.progress) { snapshot in
            self.progressBar.observedProgress = snapshot.progress
            self.progressBar.isHidden = false;
        }

        uploadTask.observe(.success) { snapshot in
            if let profileImageURL = snapshot.metadata?.downloadURL()?.absoluteString {
                self.user?.profilePicture = profileImageURL
                self.progressBar.isHidden = true;
                self.savedLabel.isHidden = false

            }
        }
    }

下载图片:

 if let profileImageURL = user?.profilePicture {
        if let url = URL(string: profileImageURL) {
            URLSession.shared.dataTask(with: url, completionHandler: { (data, response, error) in

                if error != nil {
                    print(error!)
                    return
                }

                DispatchQueue.main.async {
                    self.profilePictureImageView.image = UIImage(data: data!)
                    self.activityIndicator.stopAnimating()
                }
            }).resume()
        }
    }



Best Answer-推荐答案


我感觉这与图像方向问题有关,而不是 Firebase 领域的任何问题。像 iOS Image Orientation has Strange Behavior

关于ios - 通过 URL 从 Swift 上的 Firebase 下载图像时横向加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42501820/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4