2017-02-28 42 views
0

我目前正在上傳和下載Firebase圖片。我將URL作爲字符串存儲在變量profilePicture中,然後使用URL會話來下載圖像。但是,每次照片都會橫向加載。但是,當我最初從相機膠捲中選取照片時,會顯示正確的方式。任何想法可能發生什麼?圖片在Swift上從Firebase上通過URL下載時橫向加載

上傳圖片: 當我上傳圖片,一旦它完全保存,我將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() 
     } 
    } 

回答