Я написал функцию для загрузки изображения в хранилище Firebase, используйте эту функцию, вы также можете вызывать ее несколько раз для параллельной загрузки нескольких изображений.
public func uploadData(data: Data, serverFileName: String) {
let storage = Storage.storage()
let storageRef = storage.reference()
// Create a reference to the file you want to upload
var directory = "images/"
let fileRef = storageRef.child(directory + serverFileName);
// Upload the file to the path "images/rivers.jpg"
let uploadTask = fileRef.putData(data, metadata: nil) { metadata, error in
/* guard let metadata = metadata else {
// Uh-oh, an error occurred!
print("Uh-oh, an error occurred! in metadata retreiving")
return
} */
// Metadata contains file metadata such as size, content-type.
// let size = metadata.size
// You can also access to download URL after upload.
fileRef.downloadURL { (url, error) in
guard let downloadURL = url else {
// Uh-oh, an error occurred!
return
}
// File Uploaded Successfully
// file url is here downloadURL.absoluteString
}
}
}