如何在Firebase中存储来自uiimageView的图像

时间:2018-12-06 05:28:11

标签: swift firebase firebase-realtime-database uiimageview

func uploadImage(){

    let data = Data()
    let storage = Storage.storage()
    let storageRef = storage.reference()

    let imagesRef = storageRef.child(imageView.image) //not sure how it's done
    let uploadTask = imagesRef.putData(data, metadata: nil) { (metadata, error) in
        guard let metadata = metadata else {

            return
        }

        let size = metadata.size

        imagesRef.downloadURL { (url, error) in
            guard let downloadURL = url else {

                return
            }
        }
    }
}

嗨,我是xcode的新手。我很想知道如何在调用上述函数时将uiimageview上显示的图像上传到firebase。

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

func uploadImage(img1 :UIImage){
    var data = NSData()
    data = UIImageJPEGRepresentation(img1!, 0.8)! as NSData

   // setting the upload path
    // then choose the path where you want to store the image in the storage
    let filePath = "\(userid)"  
    let metaData = FIRStorageMetadata()
    metaData.contentType = "image/jpg"

    self.storageRef = FIRStorage.storage().reference()
    self.storageRef.child(filePath).put(data as Data, metadata: metaData){(metaData,error) in
        if let error = error {
            print(error.localizedDescription)
            return
        }else{
            //Storing the downloadURL.. 
            let downloadURL = metaData!.downloadURL()!.absoluteString

        }
    }

}