Firebase - uploading images when internet is offline

后端 未结 2 1935
耶瑟儿~
耶瑟儿~ 2021-01-31 19:30

Firebase has great option of using their database and sending data to their db even if you are offline, and then when the connection is up again, it sends automatically the data

2条回答
  •  抹茶落季
    2021-01-31 20:20

    Yes. The Firebase Storage client supports resuming uploads. See the Firebase Storage documentation for uploads (iOS, Web, Android).

    From there for Android:

    uploadTask = mStorageRef.putFile(localFile);
    sessionUri = uploadTask.getUploadSessionUri();
    //save the sessionUri to persistent storage in case the process dies.
    

    And then to resume:

    //resume the upload task from where it left off when the process died.
    //to do this, pass the sessionUri as the last parameter
    uploadTask = mStorageRef.putFile(localFile,
                    new StorageMetadata.Builder().build(), sessionUri);
    

    Update (20160809)

    One way to handle the sessionUri:

    1. when you create the uploadTask, get the sessionUri and store it to the app's SharedPreferences.
    2. when the uploadTask completes, remove the sessionUri from the app's SharedPreferences.
    3. when the app restarts, check if there is a sessionUri in the SharedPreferences. If so: resume that upload.

提交回复
热议问题