从Firabse存储将图像加载到imageView

时间:2019-09-22 21:06:17

标签: swift firebase firebase-storage

我正在尝试将已成功加载的图像加载到Firebase存储中。我有在viewDidLoad中调用的以下函数,但不确定为什么它不起作用。我直接从firebase存放文件夹中的链接(链标志)复制了urlName.com。

func setProfileImage() {

    let currentUserID = Auth.auth().currentUser!.uid

    Storage.storage().reference(forURL: "gs://urlName.com").child("Folder/\(currentUserID).jpg").getData(maxSize: 1048576, completion: { (data, error) in

        guard let imageData = data, error == nil else {
            return
        }
        self.profileImage.image = UIImage(data: imageData)
    })
}

此代码似乎根本没有加载任何内容。我没有收到任何错误,但是在加载视图控制器时图像视图为空白

非常感谢任何帮助

谢谢

1 个答案:

答案 0 :(得分:0)

1-允许访问开发模式,在Storage> Rules中:

service firebase.storage {
  match /b/yourapp.appspot.com/o {
    match /{allPaths=**} {
      // Allow access by all users
      allow read, write;
    }
  }
}

获取数据:

let reference = Storage.storage().reference(withPath: "your_folder_path)/image.jpg")
      reference.getData(maxSize: (1 * 1024 * 1024)) { (data, error) in
        if let _error = error{
           print(_error)
      } else {
        if let _data  = data {
           let myImage:UIImage! = UIImage(data: _data)
             self.profileImage.image = myImage
        }
     }
}