capawesome-team / capacitor-firebase

⚡️ Firebase plugins for Capacitor. Supports Android, iOS and the Web.

Home Page:https://capawesome.io/plugins/firebase/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bug: Unable to upload file to Firebase Cloud Storage

shaktis110 opened this issue · comments

Plugin(s)

  • Analytics
  • App
  • App Check
  • Authentication
  • Crashlytics
  • Cloud Firestore
  • Cloud Messaging
  • Cloud Storage
  • Performance
  • Remote Config

Version

5.4.1

Platform(s)

  • Android
  • iOS
  • Web

Current behavior

Attempting to upload an image file to Firebase Cloud Storage, encountering an error:

Error message: "Attempt to invoke virtual method 'java.lang.String com.getcapacitor.JSObject.getString(java.lang.String)' on a null object reference"

current setup :
uploadProfileFile = async () => {
await FirebaseStorage.uploadFile(
{
path: 'images/17852709929324920.jpeg',
uri: 'file:///data/user/0/com.testing.cloudstorage/cache/17852709929324920.jpeg',
},
(event, error) => {
if (error) {
console.log(error);
console.log('error');
} else if (event?.completed) {
console.log('upload complete')
}
}
);
};

I've tried an alternative method to verify the setup, and it's functioning correctly. I'm receiving responses from Firebase storage.

listFiles = async () => {
const { items } = await FirebaseStorage.listFiles({
path: 'images',
});
return items;
};

Expected behavior

The Firebase Cloud Storage upload feature should function as intended, allowing users to seamlessly upload files to the designated storage location.

Reproduction

https://github.com/shaktis110/firebase-storage-test-app.git

Steps to reproduce

(1) Open the Application
(2) Click on the Avatar Icon
(3) Choose Image Source Select the option to upload an image from either the gallery or camera.
(4) Error in Logcat

Other information

Device : Android 13

Attempt to invoke virtual method 'java.lang.String com.getcapacitor.JSObject.getString(java.lang.String)' on a null object reference
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.getcapacitor.JSObject.getString(java.lang.String)' on a null object reference
at io.capawesome.capacitorjs.plugins.firebase.storage.FirebaseStorageHelper.buildStorageMetadata(FirebaseStorageHelper.java:12)
at io.capawesome.capacitorjs.plugins.firebase.storage.classes.options.UploadFileOptions.(UploadFileOptions.java:23)
at io.capawesome.capacitorjs.plugins.firebase.storage.FirebaseStoragePlugin.uploadFile(FirebaseStoragePlugin.java:204)
at java.lang.reflect.Method.invoke(Native Method)
at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:138)
at com.getcapacitor.Bridge.lambda$callPluginMethod$0(Bridge.java:800)
at com.getcapacitor.Bridge.$r8$lambda$ehFTi5f4HhVNFKTbCKAYDkpQYRA(Unknown Source:0)
at com.getcapacitor.Bridge$$ExternalSyntheticLambda3.run(Unknown Source:8)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.os.HandlerThread.run(HandlerThread.java:67)

Capacitor doctor

💊 Capacitor Doctor 💊

Latest Dependencies:

@capacitor/cli: 5.7.2
@capacitor/core: 5.7.2
@capacitor/android: 5.7.2
@capacitor/ios: 5.7.2

Installed Dependencies:

@capacitor/ios: not installed
@capacitor/cli: 5.7.2
@capacitor/android: 5.7.2
@capacitor/core: 5.7.2

[success] Android looking great! 👌

Before submitting

  • I have read and followed the bug report guidelines.
  • I have attached links to possibly related issues and discussions.
  • I understand that incomplete issues (e.g. without reproduction) are closed.

Thank you! I will fix this.

@shaktis110 Please give this dev build a try:

npm i @capacitor-firebase/storage@5.4.1-dev.b12767c.1709972019

working thanks @robingenz