首页 > 解决方案 > 如何将来自uiimageView的图像存储在firebase中

问题描述

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。

标签: swiftfirebasefirebase-realtime-databaseuiimageview

解决方案


你可以这样做:

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

        }
    }

}

推荐阅读