【问题标题】:Android app, putBytes to Firebase not workingAndroid 应用,putBytes 到 Firebase 不工作
【发布时间】:2022-01-11 12:44:44
【问题描述】:

我(在 YT 上做教程)试图将我的图片放到 firebase, 据我所见,无法连接数据库,但我不知道问题出在哪里,我做错了什么

但是当我尝试时,我在 logcat 中有类似的东西:

2021-11-01 06:57:40.660 32702-32702/pl.edu.pb.mymemory E/CreateActivity: Exception with Firebase storage
    com.google.firebase.storage.StorageException: The operation retry limit has been exceeded.
        at com.google.firebase.storage.UploadTask.snapStateImpl(UploadTask.java:524)
        at com.google.firebase.storage.UploadTask.snapStateImpl(UploadTask.java:50)
        at com.google.firebase.storage.StorageTask.snapState(StorageTask.java:343)
        at com.google.firebase.storage.StorageTask.getFinalResult(StorageTask.java:453)
        at com.google.firebase.storage.StorageTask.getResult(StorageTask.java:273)
        at com.google.firebase.storage.StorageTask.getResult(StorageTask.java:41)

还有我的功能:

private fun saveDataToFirebase() {
        val customGameName = etGameName.text.toString()
        Log.i(TAG, "Save data to Firebase")
        var didEncounteredError = false
        val uploadedImageUrls = mutableListOf<String>()

        for ((index,photoUri) in chosenImageUris.withIndex()) {
            //downgrading the quality of the image
            val imageByteArray =  getImageByteArray(photoUri)
            val filePath = "images/$customGameName/${System.currentTimeMillis()}-${index}.jpg"
            val photoReference = storage.reference.child(filePath)
            Log.i(TAG, "Trying to upload: ${photoReference}")
            //wait until it succeeds or fails
            photoReference.putBytes(imageByteArray)
                .continueWithTask { photoUploadTask ->
                    Log.i(TAG, "Uploaded bytes: ${photoUploadTask.result?.bytesTransferred}")
                    photoReference.downloadUrl
                }.addOnCompleteListener { downloadUrlTask ->
                    if (!downloadUrlTask.isSuccessful) {
                        Log.e(TAG, "Exception with Firebase storage", downloadUrlTask.exception)
                        Toast.makeText(this, "Failed to upload image", Toast.LENGTH_SHORT).show()
                        didEncounteredError = true
                        return@addOnCompleteListener
                    }
                    if(didEncounteredError){
                        return@addOnCompleteListener
                    }
                    val downloadUrl = downloadUrlTask.result.toString()
                    uploadedImageUrls.add(downloadUrl)
                    Log.i(TAG, "Finished uploading $photoUri, num uploaded ${uploadedImageUrls.size}")
                    if(uploadedImageUrls.size == chosenImageUris.size) {
                        handleAllImagesUploaded(customGameName, uploadedImageUrls)
                    }
                }
        }
    }

My repository on git

【问题讨论】:

  • 正如错误所说,在您可以执行多少次重试时存在一些限制。尽量少做。
  • 等了又试了,还是不行。

标签: android firebase firebase-storage


【解决方案1】:

在我的情况下,电话上的日期是错误的。

修复日期解决了问题

【讨论】:

    猜你喜欢
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多