Reputation:
For my android app "Locally" I'm setting up Google sign. However, while retrieving the user's profile picture from his google account and uploading it to firebase storage I am getting the error displayed below.
Code for uploading the image:
Uri imagePath=Uri.fromFile(newFile(Objects.requireNonNull(account.getPhotoUrl()).toString())); //account holds google signed in user.
StorageReference storageReference = FirebaseStorage.getInstance().getReference().child("profile_pic").child(firebaseAuth.getUid() + ".jpg"); //The picture is stored in Firebase storage inside profile_pic under the name UID.jpg
UploadTask uploadTask = storageReference.putFile(imagePath);
Error is:
2019-11-08 02:23:13.471 24564-24564/com.example.locally W/UploadTask: could not retrieve file size for upload file:///https%3A/lh3.googleusercontent.com/a-/AAuE7mCsY-OdcDUxIVOR53uN3waXR0-OPD5P4EmGdvR_AQ%3Ds96-c
java.io.FileNotFoundException: No such file or directory
at android.os.Parcel.openFileDescriptor(Native Method)
at android.os.ParcelFileDescriptor.openInternal(ParcelFileDescriptor.java:283)
at android.os.ParcelFileDescriptor.open(ParcelFileDescriptor.java:200)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:992)
at android.content.ContentResolver.openFileDescriptor(ContentResolver.java:850)
at android.content.ContentResolver.openFileDescriptor(ContentResolver.java:804)
at com.google.firebase.storage.UploadTask.<init>(com.google.firebase:firebase-storage@@18.1.1:120)
at com.google.firebase.storage.StorageReference.putFile(com.google.firebase:firebase-storage@@18.1.1:263)
at com.example.locally.MainActivity.sendUserData(MainActivity.java:308)
at com.example.locally.MainActivity.access$600(MainActivity.java:45)
at com.example.locally.MainActivity$6.onComplete(MainActivity.java:290)
at com.google.android.gms.tasks.zzj.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6375)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
2019-11-08 02:23:13.472 24564-24564/com.example.locally E/StorageException: /https:/lh3.googleusercontent.com/a-/AAuE7mCsY-OdcDUxIVOR53uN3waXR0-OPD5P4EmGdvR_AQ=s96-c (No such file or directory)
java.io.FileNotFoundException: /https:/lh3.googleusercontent.com/a-/AAuE7mCsY-OdcDUxIVOR53uN3waXR0-OPD5P4EmGdvR_AQ=s96-c (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:99)
at android.content.ContentResolver.openInputStream(ContentResolver.java:715)
at com.google.firebase.storage.UploadTask.<init>(com.google.firebase:firebase-storage@@18.1.1:133)
at com.google.firebase.storage.StorageReference.putFile(com.google.firebase:firebase-storage@@18.1.1:263)
at com.example.locally.MainActivity.sendUserData(MainActivity.java:308)
at com.example.locally.MainActivity.access$600(MainActivity.java:45)
at com.example.locally.MainActivity$6.onComplete(MainActivity.java:290)
at com.google.android.gms.tasks.zzj.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6375)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
2019-11-08 02:23:13.474 24564-24564/com.example.locally I/MainActivity: Path to storage reference is :/profile_pic/xyF6h4jiPmXfKHR2huoUPqb0BJL2.jpg
2019-11-08 02:23:13.474 24564-25065/com.example.locally E/StorageException: /https:/lh3.googleusercontent.com/a-/AAuE7mCsY-OdcDUxIVOR53uN3waXR0-OPD5P4EmGdvR_AQ=s96-c (No such file or directory)
java.io.FileNotFoundException: /https:/lh3.googleusercontent.com/a-/AAuE7mCsY-OdcDUxIVOR53uN3waXR0-OPD5P4EmGdvR_AQ=s96-c (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:99)
at android.content.ContentResolver.openInputStream(ContentResolver.java:715)
at com.google.firebase.storage.UploadTask.<init>(com.google.firebase:firebase-storage@@18.1.1:133)
at com.google.firebase.storage.StorageReference.putFile(com.google.firebase:firebase-storage@@18.1.1:263)
at com.example.locally.MainActivity.sendUserData(MainActivity.java:308)
at com.example.locally.MainActivity.access$600(MainActivity.java:45)
at com.example.locally.MainActivity$6.onComplete(MainActivity.java:290)
at com.google.android.gms.tasks.zzj.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6375)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
2019-11-08 02:23:13.475 24564-25065/com.example.locally E/StorageException: /https:/lh3.googleusercontent.com/a-/AAuE7mCsY-OdcDUxIVOR53uN3waXR0-OPD5P4EmGdvR_AQ=s96-c (No such file or directory)
java.io.FileNotFoundException: /https:/lh3.googleusercontent.com/a-/AAuE7mCsY-OdcDUxIVOR53uN3waXR0-OPD5P4EmGdvR_AQ=s96-c (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:99)
at android.content.ContentResolver.openInputStream(ContentResolver.java:715)
at com.google.firebase.storage.UploadTask.<init>(com.google.firebase:firebase-storage@@18.1.1:133)
at com.google.firebase.storage.StorageReference.putFile(com.google.firebase:firebase-storage@@18.1.1:263)
at com.example.locally.MainActivity.sendUserData(MainActivity.java:308)
at com.example.locally.MainActivity.access$600(MainActivity.java:45)
at com.example.locally.MainActivity$6.onComplete(MainActivity.java:290)
at com.google.android.gms.tasks.zzj.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6375)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
2019-11-08 02:23:13.476 24564-25065/com.example.locally E/StorageException: /https:/lh3.googleusercontent.com/a-/AAuE7mCsY-OdcDUxIVOR53uN3waXR0-OPD5P4EmGdvR_AQ=s96-c (No such file or directory)
java.io.FileNotFoundException: /https:/lh3.googleusercontent.com/a-/AAuE7mCsY-OdcDUxIVOR53uN3waXR0-OPD5P4EmGdvR_AQ=s96-c (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:99)
at android.content.ContentResolver.openInputStream(ContentResolver.java:715)
at com.google.firebase.storage.UploadTask.<init>(com.google.firebase:firebase-storage@@18.1.1:133)
at com.google.firebase.storage.StorageReference.putFile(com.google.firebase:firebase-storage@@18.1.1:263)
at com.example.locally.MainActivity.sendUserData(MainActivity.java:308)
at com.example.locally.MainActivity.access$600(MainActivity.java:45)
at com.example.locally.MainActivity$6.onComplete(MainActivity.java:290)
at com.google.android.gms.tasks.zzj.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6375)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
error is at line:
UploadTask uploadTask = storageReference.putFile(imagePath);
I just want to store profile picture of user of his google account to firebase storage inside profile_pic folder.
Upvotes: 0
Views: 82
Reputation: 598740
You can upload files to Cloud Storage with the Firebase SDK in 3 ways:
There is no way to upload from a (non-local) URL. So you'll first have to download the file, and then upload it to Cloud Storage.
Upvotes: 2