Загрузить изображение с устройства на базу - PullRequest
0 голосов
/ 25 января 2020

Я пытался использовать код, предоставляемый документами Firebase, и вот как много я его разработал. Это просто не работает. Я попытался поставить Storage.storage().reference(), но это привносит больше ошибок в мой код.

let downloadURL: String!

        if let imageData = selectedImage.jpegData(compressionQuality: 0.2){

            let imgUid = NSUUID().uuidString

            let uploadTask = storage.reference().putData(imageData, metadata: nil) { (metadata, error) in
              guard let metadata = metadata else {
                return
              }
                downloadURL = metadata.downloadURL

Я получаю ошибку use of unidentified resolver storage. Но когда я пытаюсь Storage.storage().reference(), это приводит к 10 различным ошибкам в моем коде.

1 Ответ

0 голосов
/ 25 января 2020

Ну, я не знаю, что происходит, но это работает для меня,

Убедитесь, что ваши стручки имеют по крайней мере это там.

ПОДФИЛЬ

pod 'Firebase/Storage'
pod 'Firebase/Auth' #Auth isn't needed but, you should really use it.

Просмотр контроллера

import UIKit
import FirebaseStorage

class TestView: UIViewController {
    var imageView: UIImageView!


    override func viewDidLoad() {
        super.viewDidLoad()
        imageView = UIImageView()

    }

    @IBAction func uploadPicture(_ sender: Any) {
        self.imageView.image = #imageLiteral(resourceName: "playlist.png")

        uploadMedia() { url in
             guard let url = url else { return }
            print(url)
        }

    }

    func uploadMedia(completion: @escaping (_ url: String?) -> Void) {

       let storageRef = Storage.storage().reference().child("something.png")
       if let uploadData = self.imageView.image?.pngData(){ //You can change this to jpeg, etc
           storageRef.putData(uploadData, metadata: nil) { (metadata, error) in
               if error != nil {
                   print("error")
                   completion(nil)
               } else {

                   storageRef.downloadURL(completion: { (url, error) in

                       print(url?.absoluteString)
                       completion(url?.absoluteString)
                   })

               }
        }}}

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