在這個應用程式中,我創建了身份驗證、帶有 firebase 的資料庫。但是在我的帖子中,它由標題、內容和影像組成,我只看到我的默認影像。我在資料庫中的存盤有點問題,首先將影像上傳到 Firebase 存盤,然后獲取它的 url。
import Foundation
import SwiftUI
import Firebase
import FirebaseStorage
class StorageStore: ObservableObject {
let storageRef = Storage.storage().reference()
func uploadImage(_ image: UIImage, completion: @escaping (URL?) -> Void) {
let imageRef = storageRef.child("images/" timeString() ".jpg")
guard let imageData = image.jpegData(compressionQuality: 0.1) else {
return completion(nil)
}
let metadata = StorageMetadata()
metadata.contentType = "image/jpg"
imageRef.putData(imageData, metadata: metadata, completion: { [self] (metadata, error) in
if let error = error {
assertionFailure(error.localizedDescription) // ??
//Thread 1: Fatal error: User does not have permission to access gs://ios-post-193ec.appspot.com/images/2022-03-29T10:03:18Z.jpg.
return completion(nil)
}
imageRef.downloadURL(completion: { (url, error) in
if let error = error {
assertionFailure(error.localizedDescription)
return completion(nil)
}
completion(url)
})
})
}
func timeString() -> String {
let now = Date()
let formatter = ISO8601DateFormatter()
let datetime = formatter.string(from: now)
print(datetime)
return datetime
}
}
結果,我無法將影像上傳到存盤
在這種情況下,我有一個錯誤(??),如上所示。而不是默認影像,模擬器中的 6 個永久影像之一必須出來。

uj5u.com熱心網友回復:
錯誤訊息顯示用戶沒有訪問該檔案的權限。所以看起來你有安全規則來控制誰可以通過 Firebase 訪問你的云存盤中的檔案,這些規則拒絕這個讀取操作。我建議檢查我鏈接的檔案(那里還有一個舊的但仍然很棒的視頻),以了解如何允許操作,同時仍然保持檔案安全。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/453348.html
標籤:迅速 火力基地 迅捷 firebase-存储
