Firebase存储如何在Swift中上传图像进度

时间:2018-02-08 15:15:15

标签: ios swift firebase firebase-storage

我试图获得上传图片的进度,我看到了下面的解释链接。但是,我想要做的是上传多个图像。

link here

我这样实现上传图片。

 for image in imagesArray {
            let postRef = ref.child("post").child(uid)("images")
            let autoId = postRef.childByAutoId().key
            let childStorageRef = storageRef.child("images").child(autoId)

            if let uploadData = UIImagePNGRepresentation(image) {
                childStorageRef.putData(uploadData, metadata: nil, completion: { (metadata, error) in
                    if error != nil {
                        print("error")
                        return
                    } else {
                        if let imageUrl = metadata?.downloadURL()?.absoluteString {
                            let val = [autoId: imageUrl]
                            postRef.updateChildValues(val)
                        }
                    }
                })
            }
        }

我尝试拨打observe(.progress)

但只有childStorageRef.observe(<#T##keyPath: KeyPath<StorageReference, Value>##KeyPath<StorageReference, Value>#>, options: <#T##NSKeyValueObservingOptions#>, changeHandler: <#T##(StorageReference, NSKeyValueObservedChange<Value>) -> Void#>)

所以,我不知道如何像链接一样取得进展。 我怎样才能做到这一点?提前谢谢!

2 个答案:

答案 0 :(得分:1)

Swift- 5种简便方法

cd /path/to/your/env/lib/python2.7/site-packages/google
touch __init__.py

答案 1 :(得分:0)

<强> 1。首先,创建查询变量: (只需在查询之前添加“let uploadTask =”)

示例:let uploadTask = childStorageRef.putData(uploadData,metadata:nil,completion:{(metadata,error)in ...

<强> 2。然后你可以给这个观察者打电话: (观察进展)

uploadTask.observe(.progress, handler: { (snapshot) in

(成功时观察)

uploadTask.observe(.success, handler: { (snapshot) in

(观察是否失败)

uploadTask.observe(.failure, handler: { (snapshot) in