如果未上传整个数据,是否可以删除Firebase-Storage数据?

时间:2019-11-02 02:52:55

标签: android firebase google-cloud-firestore firebase-storage

我正在将多个图像上传到Firebase-Storage。

问题是,如果我尝试上传5张图片。 2/5图像被上传,我杀死了该应用程序,但不重新打开它就将其卸载,然后将两个图像上传至Firebase存储,而其他3个则没有。我存储“下载网址”的方式就像如果所有5张图片都上传了,然后将其与其他数据一起存储到Firestore中,如果失败,则不存储下载网址,这意味着其他数据将不会被上传到Firestore。

这是我用来将多个图像上传到数据库的功能。

    private fun uploadImages() {
    // to store mutliple url's
    val imagesUrl = ArrayList<String>() 
    // mUriImagesList is an arraylist of images
    if (mUriImagesList.isNotEmpty()) { 
        for (image in mUriImagesList) {
            // ref = some storage path //
            val uploadTask = ref.putFile(image)

            val urlTask = uploadTask.continueWithTask { task ->
                if(!task.isSuccessful) {
                    task.exception?.let {
                        throw it
                    }
                }
                ref.downloadUrl
            }.addOnCompleteListener { task ->
                        val downloadUri = task.result
                        imagesUrl.add(downloadUri.toString())
                        if(imagesUrl.size == mUriImagesList.size) {
                            // some other data which will uploaded to firestore if all the images get uploaded to storage
                            uploadMomentData(imagesUrl)
                        }
                    } else {
                        Log.w(NEW_FRAGMENT_TAG, "Task FAILED")
                    }
                }
        }
    }
}

如果所有图像上传失败,是否可以从存储中删除那2张图像? -我想写一个云函数,但条件是什么?由于无法确定上传到Firebase-storage的数据是否与Firestore无关(通过下载URL)。

0 个答案:

没有答案