URL изображения в FirebaseStorage не существует., ResponseErrorDomain = com.google.HTTPStatus, ResponseErrorCode = 404}? - PullRequest
0 голосов
/ 24 августа 2018

У меня есть код, который сохраняет несколько изображений в базе данных. Я обновил свои модули, и после этого мне пришлось изменить свой код downloadURL. После этого в базе данных не отображаются URL-адреса, а также «пост-раздел». Этот вопрос, похоже, похож на этот один. В консоли я получаю следующие ошибки:

Ошибка Домена = FIRStorageErrorDomain Code = -13010 "Объект email@email.com/post/string#.string#.jpg не существует. " UserInfo={object=email@email.com/post/string#.string#.jpg, ResponseBody = {

И

* * +1011}, ведро = yubipracticearraybasicimg1.appspot.com, данные = <7ba2020 2265722 6f72223a 207b020 20202022 636f465 2232034 30342c0a 20202020 73616765 226d6573 223a2022 4e6f420 46f756e 642e2020 436f56c 642066f 7426765 7406f62 6a656374 220a2020 7d0a7d>, data_content_type = применение / JSON; charset = UTF-8, NSLocalizedDescription = Объект

Это происходит после того, как я нажимаю кнопку, которая отправляет данные в базу данных. Ниже приведен проблемный код:

Блок 1:

storageRef.downloadURL { (url, error) in

       if error != nil {
           print("Failed to download url:", error!)
           return
       }

       let imageUrl = "\(String(describing: url))"
            postRef.child(autoID).setValue(imageUrl)
        }

Блок 2:

    storageRef.downloadURL { (url, error) in

        if error != nil {
           print("Failed to download url:", error!)
               return
          }

      let imageUrl = "\(String(describing: url))"
//           let value = ["Image\(self.number)": imageUrl]  as [String : Any]
                 let value = [autoID: imageUrl]  as [String : Any]
                     postRef.updateChildValues(value)
                    }

Заранее спасибо за любую помощь!

1 Ответ

0 голосов
/ 26 августа 2018

Возможно, вы используете другую ссылку на хранилище URL для метода put data, внутри которого находятся два блока.

Может быть что-то вроде этого, где childStorageRef равноссылка, отличная от storageRef:

  childStorageRef.putData(uploadData, metadata: nil) { (metadata, err) in
    storageRef.downloadURL { (url, error) in

           if error != nil {
               print("Failed to download url:", error!)
               return
           }

           let imageUrl = "\(String(describing: url))"
                postRef.child(autoID).setValue(imageUrl)
            }
       }

Измените эту ссылку на:

storageRef.putData(uploadData, metadata: nil) { (metadata, err) in
    storageRef.downloadURL { (url, error) in

       if error != nil {
           print("Failed to download url:", error!)
           return
       }

       let imageUrl = "\(String(describing: url))"
            postRef.child(autoID).setValue(imageUrl)
        }
   }

То же самое для блока 2. Надеюсь, это поможет!

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