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:
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
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.
I just emailed Firebase Team about this issue today.
They just replied my email just half an hour ago.
My Email
Firebase Team Reply
Edit: Use VPN to solve this problem.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With