Невозможно загрузить изображение в Firebase Storage - swift 5 - PullRequest
0 голосов
/ 30 марта 2020

Я не могу загрузить изображение в Firebase Storage. Я обнаружил эту ошибку в своем журнале вывода.

"Произошла ошибка SSL и невозможно установить безопасное соединение с сервером."

и последний вывод -

print ("check: 4 >> Don't put image")

Тогда наименьший из кода не выполняется, поэтому изображение все еще не загружается

В методе putData я также использую параметр url , но также возникла та же проблема

MY Полный код:

import UIKit
import FirebaseAuth
import FirebaseDatabase
import FirebaseStorage

class ViewController: UIViewController {

    @IBOutlet weak var imageview: UIImageView!
    @IBOutlet weak var emailTextView: UITextField!
    @IBOutlet weak var passwordTextView: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

    @IBAction func buttonAction(_ sender: Any) {

        Auth.auth().createUser(withEmail: emailTextView.text!, password: passwordTextView.text!){ (result, error) in
            if let _eror = error {
                print(_eror.localizedDescription)
                return
            }
            print("check: 1 >> After creating user\(result!)")


            let uid = result?.user.uid
            let storage = Storage.storage()
            let storageRef = storage.reference(forURL: "gs://porate-chai-4deee.appspot.com").child("profile_image").child(uid!)
            print("check: 2 >> \(storageRef)")


            if let profileImage = self.imageview!.image, let imageData = profileImage.jpegData(compressionQuality: 0.1) {
                print("check: 3 >> \(imageData)")
                storageRef.putData(imageData, metadata: nil) { (metadata, error) in
                    if error != nil {
                        print("check: 4 >> Don't put image")
                        return
                    }
                    print("put image on firebase storage")
                    storageRef.downloadURL(completion: {(url, error) in
                        if error != nil {
                            print(error!.localizedDescription)
                            return
                        }
                        let downloadURL = url?.absoluteString
                        print(downloadURL!)
                        let ref = Database.database().reference()
                        print("seeref\(ref)")
                        let userReference = ref.child("tutor")
                        let newUserReference = userReference.child(uid!)
                        newUserReference.setValue([
                            "email": self.emailTextView.text!,
                            "profileimageurl": downloadURL!
                        ])
                    })
                }
            }
        }
    }
}

Мои правила хранения Firebase:

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write;
    }
  }
}

Я также пробую эти правила

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if true;
    }
  }
}

enter image description here

1 Ответ

0 голосов
/ 30 марта 2020

С помощью этого ответа "flutter pub get" не может получить подключаемые модули зависимости Windows

После 27-03-2020 код все еще работает, но после 28- У 03-2020 возникли проблемы с storage.googleapis.com в Бангладе sh.

Чтобы решить эту проблему, воспользуйтесь инструментом VPN и повторно запустите проект. Я использовал Hotspot Sheild VPN, и после этого все было хорошо.

Я использую этот Hotspot Shield: Fastest VPN www.hotspotshield.com

Затем файл снова загрузился

...