1
我目前正在嘗試將圖片上傳到Firebase存儲。目前,該圖片正在上傳,因爲我可以從Firebase控制檯下載該圖片,但它不會讓我繼續關閉。我不確定這是一個基本的Firebase誤解還是iOS。讓我知道我是否可以提供更多信息。在Firebase上存儲圖片無法正常工作
var storageRef : FIRStorageReference = FIRStorageReference()
if let num = num {
storageRef = FIRStorage.storage().reference().child("\(num).png")
}
if let uploadData = UIImagePNGRepresentation(profilePictureImageView.image!) {
let metadata = FIRStorageMetadata()
metadata.contentType = "image/png"
print("ABOUT TO STORAGE \(uploadData)")
storageRef.put(uploadData, metadata: metadata).observe(.success) { (snapshot) in
print("IN STORAGE")
let text = snapshot.metadata?.downloadURL()?.absoluteString
}
}
只有打印出來,當我調試,我得到的是
關於存儲8663314字節
編輯: 在過去,我也曾嘗試解決此問題這樣做:
if let uploadData = UIImagePNGRepresentation(profilePictureImageView.image!) {
print("IN UPLOAD DATA \(uploadData)")
storageRef.put(uploadData, metadata: metadata) { [weak self] (metadata,error) in
if error != nil {
print("ERROR \(error)")
return
} else {
print("NO ERROR")
}
if let profileImageURL = metadata?.downloadURL()?.absoluteString {
self?.profilePicURL = profileImageURL
}
}
}
同樣,我不會越過「IN UPLOAD DATA」打印語句。
那麼,有顯然有些錯誤怎麼回事。如何觀察別的東西,而不僅僅是「成功」?讓我們看看你在控制檯中得到了什麼。 – Michal
隨着.failure和.pause我仍然沒有看到任何東西。我應該嘗試別的嗎? – Sarah
此代碼在哪裏調用?這個方法被調用後,它是否在某個短暫的對象中被破壞?你應該在這些方法之一中看到某種輸出('.success' /'.failure'),除非方法'put'根本沒有被執行。 – Michal