2017-12-29 30 views
0

アップロードは成功しましたが、私のuserProfileイメージをFirebaseにアップロードしようとしていますが、firebaseコンソールのダウンロードリンクからダウンロードしたときに、アップロードしたjpgファイルではなくドキュメントファイルとしてダウンロードされます。 また、イメージを特定のイメージに設定すると、私のUIImageがView Controller内のすべてのビューを引き継ぎました。私はあなたが画像のURLをダウンロードしようとするとImageViewの中にそれを設定していると思います イメージをFirebaseにアップロードしていますが、ダウンロードしようとしていませんか?

@IBAction func registerRegisterButton(_ sender: UIButton) { 
    let userProfileImageRef = self.storage.reference().child("userProfileImage") 

    //testing image setup 
    self.registerUserProfileImage.image = UIImage(named:"puppy.jpg") 

    // Registering user with email 
    Auth.auth().createUser(withEmail: registerUserEmailTextField.text!, password: registerUserPasswordTextField.text!) { (user, error) in 

     if error != nil { 
      print(error) 
     } else { 
      print("Registration complete") 

      // if register succcessful, we upload the user profile image to firebase 
      let data = Data() 

      //uploading user profile picture 
      if let uploadData = UIImagePNGRepresentation(self.registerUserProfileImage.image!) { 
       userProfileImageRef.putData(uploadData, metadata: nil, completion: { (metadata, error) in 

        if error != nil { 
         print(error) 
         return 
        } else { 
         print("Success upload!") 
         self.dismiss(animated: true, completion: nil) 
         self.performSegue(withIdentifier: "registrationCompleteSegue", sender: self) 
        } 
       }) 

      } 
     } 
    } 
} 

は事前

+0

どのように取得していますか? –

+0

@richie Im私のfirebaseのダウンロードURLを使ってテストしています – porkchopbento

+0

あなたが求めていることは明らかではありません。さらに説明する –

答えて

0

にご協力いただきありがとうございます:

は、ここに私のコードです。はいの場合は、StorageMetadatameta dataを作成し、content typeimage/jpegと設定します。 Firebase ReferenceのputDataメソッドに渡し、putDataメソッドのmetadataパラメータを指定してImageURLを取得します。

let metaData = StorageMetadata() 
metaData.contentType = "image/jpg" 

     if let uploadData = UIImagePNGRepresentation(self.registerUserProfileImage.image!, 0.8) as NSData { 

      userProfileImageRef.putData(uploadData as Data, metadata: metaData, completion: { (metadata, error) in 

       if error != nil { 
        print(error) 
        return 
       } else { 
        print("Success upload!") 
        var imageURL = (metadata?.downloadURLs?[0].absoluteString)! //Here's your image url. Then just set it to ImageView 

        self.dismiss(animated: true, completion: nil) 
        self.performSegue(withIdentifier: "registrationCompleteSegue", sender: self) 
       } 
      }) 
     } 

URLで画像を設定する場合。このリンクをよくご確認くださいhttps://stackoverflow.com/a/43486949/4608334

関連する問題