[英]ios uploading image to Firebase but it's not when I am trying to download it?
我试图将我的userProfile图像上传到Firebase,尽管上传成功,但是当我通过firebase控制台上的下载链接下载它时,它是作为文档文件而不是我上载的jpg文件下载的? 另外,当我将图像设置为特定图像时,我的UIImage会接管我在视图控制器中的所有视图。
这是我的代码:
@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)
}
})
}
}
}
}
提前谢谢你的帮助
我认为您正在尝试下载Image的URL并将其设置为ImageView。 如果是,则创建StorageMetadata
类型的meta data
,并将content type
设置为image/jpeg
。 然后将其传递到Firebase参考的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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.