Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Image loading and uploading to Firebase Storage not working in android and firebase console showing "error loading preview"

Firebase Storage show "error loading preview" in the firebase console

Initially during uploading and loading it worked fine in my app. After Two days when I am checking if my app is working fine or not.

Screenshot of the firebase console:

enter image description here

My image uploading code:

if(imagePath!=null) {                                  
   FirebaseStorage.getInstance().getReference("admin").child(admin.getId()).putFile(imagePath);
}

My image Loading code:

FirebaseStorage.getInstance().getReference("admin").child(image_path) .getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
            @Override
            public void onSuccess(Uri uri) {
                Glide.with(getApplicationContext()).load(uri).centerCrop().into(profileImage);
            }
        });

Please help me how to overcome this problem if you know. Thanks Advance to firebase expertists

like image 792
Md Mahmudul Islam Avatar asked Dec 30 '19 13:12

Md Mahmudul Islam


People also ask

How can upload image in Firebase storage and get URL?

Image URL is obtained by uploading an image to firebase bucket and then that can return back a URL that URL is a permanent URL which can be open anywhere. Then a user can use this URL for any purpose in its application.


2 Answers

I just emailed Firebase Team about this issue today.

They just replied my email just half an hour ago.

My Email

Firebase Storage Error Loading Preview firebase team email

Firebase Team Reply

Firebase Storage Error Loading Preview firebase team email reply

Edit: Use VPN to solve this problem.

like image 116
Shariful Islam Mubin Avatar answered Oct 16 '22 14:10

Shariful Islam Mubin


You said,your project was working two days ago.Your image uploaded as I can see but isn't loading. That means there is nothing wrong with the code. May be firebase has updated it's version,that's why it created bug.You might follow the updated documentation. In my previous iOS project, I faced same type of error for firebase default authUI, as firebase had some type of update, so they changed some instructions in their updated documentation. I also request to update android studio and its plugins,migrating to androidX if you haven't.You have change xml design code (like dependency reference etc)after migration else it will crash the app

Here is the sample java code from firebase documentation for Android to upload files

Must create a reference

// Create a storage reference from our app
StorageReference storageRef = storage.getReference();

// Create a reference to "mountains.jpg"
StorageReference mountainsRef = storageRef.child("mountains.jpg");

// Create a reference to 'images/mountains.jpg'
StorageReference mountainImagesRef = storageRef.child("images/mountains.jpg");

// While the file names are the same, the references point to different files
mountainsRef.getName().equals(mountainImagesRef.getName());    // true
mountainsRef.getPath().equals(mountainImagesRef.getPath());    // false

then upload image from local storage

Uri file = Uri.fromFile(new File("path/to/images/rivers.jpg"));
StorageReference riversRef = storageRef.child("images/"+file.getLastPathSegment());
uploadTask = riversRef.putFile(file);

// Register observers to listen for when the download is done or if it fails
uploadTask.addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle unsuccessful uploads
    }
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
    @Override
    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
        // taskSnapshot.getMetadata() contains file metadata such as size, content-type, etc.
        // ...
    }
});

For downloading image

Create Reference

// Create a storage reference from our app
StorageReference storageRef = storage.getReference();

// Create a reference with an initial file path and name
StorageReference pathReference = storageRef.child("images/stars.jpg");

// Create a reference to a file from a Google Cloud Storage URI
StorageReference gsReference = storage.getReferenceFromUrl("gs://bucket/images/stars.jpg");

// Create a reference from an HTTPS URL
// Note that in the URL, characters are URL escaped!
StorageReference httpsReference = storage.getReferenceFromUrl("https://firebasestorage.googleapis.com/b/bucket/o/images%20stars.jpg");

Download Image to local file

islandRef = storageRef.child("images/island.jpg");

File localFile = File.createTempFile("images", "jpg");

islandRef.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
    @Override
    public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
        // Local temp file has been created
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle any errors
    }
});

More Details https://firebase.google.com/docs/storage/android/upload-files https://firebase.google.com/docs/storage/android/download-files

like image 1
samir imtiaz Avatar answered Oct 16 '22 15:10

samir imtiaz