Та же функция, не работает над одной вещью, но работает над другой - PullRequest
0 голосов
/ 19 сентября 2019

У меня проблема с загрузкой изображений в хранилище Firebase.У меня есть одна функция:

func uploadImageToFirebase(_ imageToUpload: UIImage? , completion: @escaping((_ url: String?)->())){
    let imageName = UUID().uuidString
    let storageRef = Storage.storage().reference()
    let imagesRef = storageRef.child(imageName)
    guard let uploadImage = imageToUpload else { return }
    guard let uploadData = uploadImage.jpegData(compressionQuality: 0.8) else { return }

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

    imagesRef.putData(uploadData, metadata: metaData) { (metadata, err) in

        if err == nil && metadata != nil {
            imagesRef.downloadURL(completion: { (url, err) in
                guard let downloadUrl = url else { return } // TODO: Tell users there is a problem instead of just return
                let urlString = downloadUrl.absoluteString
                completion(urlString)
            })
        }else {
            print(err?.localizedDescription)
        }
        completion(nil)
    }
}

Если я уже создал пользователя в своем приложении и пытаюсь создать и загрузить новый пост, выбранное мной изображение загружается в FirebaseХранение, и я получаю его URL обратно, чтобы я мог отобразить его.При попытке создать нового пользователя и выбрать для него изображение профиля, изображение не загружается.Я вызываю точно такой же метод.Я получаю эту ошибку:

err Error?  domain: "FIRStorageErrorDomain" - code: 18446744073709538595    0x00006000026dced0

, что не происходит при загрузке "фотографии-поста".

Я подумал, может быть, один из них: metaData, uploadData или imageToUpload равны нулю, нопохоже, это не проблема (ни один из них не равен нулю).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...