Ich habe absolut alles versucht, um zu versuchen und die Image URL nach dem Hochladen zu bekommen und nichts scheint zu funktionieren. Ich war auf mehreren Stack-Overflow-Threads und immer noch nichts ... Wenn jemand sehen kann, warum ich das nicht bekommen kann, wäre das erstaunlich.OnSuccess Nicht getroffen, kann nicht Bild herunterladen URL, Feuerbasis
Vielen Dank im Voraus
private void uploadFile(Bitmap bitmap) {
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReferenceFromUrl("gs://kidfinder-b082f.appspot.com");
StorageReference mountainImagesRef = storageRef.child("kidfinder/" + getUserID() + ".jpg");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 20, baos);
byte[] data = baos.toByteArray();
UploadTask uploadTask = mountainImagesRef.putBytes(data);
uploadTask.isSuccessful();
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
System.out.println("Image Upload Failed");
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
System.out.println("Image Uploaded");
@SuppressWarnings("VisibleForTests") Uri downloadUrl = taskSnapshot.getDownloadUrl();
setImageURL(downloadUrl.toString());
}
});
}
Es ist nicht einmal die onFailed nicht die OnSuccess Verfahren zu treffen.
Alle Links und Childs sind korrekt.
Ich habe versucht, eine .isSuccessful()
am Ende und immer noch nichts hinzuzufügen.
Ich habe getrennte Methoden, die mehr oder weniger das gleiche und immer noch nichts erfordern.
Gradle:
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-database:10.0.1'
compile 'com.google.firebase:firebase-storage:10.0.1'
compile 'com.google.firebase:firebase-auth:10.0.1'
compile 'com.github.bumptech.glide:glide:3.8.0'
testCompile 'junit:junit:4.12'
Schließlich ist das Hochladen des Bildes perfekt .. Nur nicht mir den Download-Bild-URL zu geben.
Danke.
UPDATE
Die anderen Möglichkeiten, die URL immer nur um darum zu bitten und es in einen String zuweisen wie folgt:
storageRef.child("CHILD STRING").getDownloadUrl().getResult();
gibt mir no auth token for request firebase
Haben einige der Forschung und es liegt an den Regeln meines Speicherplatzes .. aber es ist komplett öffentlich? so wie:
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write;
}
}
}