In realtà si aggiungono due listeners, uno di caricamento "andato liscio" e uno di errore nel caricamento.
Proviamo immediatamente:
UploadTask uploadTask=childRef.putBytes(b); uploadTask.addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { } }).addOnSuccessListener(new OnSuccessListenerIl codice dei metodi da chiamare per i due listener viene implementato automaticamente.() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { } });
Ilcodice di onSuccess mi sembra interessante perché mi pare che ci si possa ricavare l'indirizzo di upload del file.
onSuccess ha come parametro un oggetto UploadTask.TaskSnapshot.
E vedo che sul tutorial c'è di mezzo un codice che potrebbe essere utile per ottenere l'indirizzo.
Il codice è semplicemente questo:
Uri downloadUrl=taskSnapshot.getDownloadUrl();ossia il codice completo è:
UploadTask uploadTask=childRef.putBytes(b); uploadTask.addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { } }).addOnSuccessListener(new OnSuccessListenerE proviamolo. Ci aggiungo un segnale da darmi in LogCat:() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { Uri downloadUrl=taskSnapshot.getDownloadUrl(); } });
UploadTask uploadTask=childRef.putBytes(b); uploadTask.addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { } }).addOnSuccessListener(new OnSuccessListener...e provo!() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { Uri downloadUrl=taskSnapshot.getDownloadUrl(); System.out.println(downloadUrl); } });
Ecco! Ho ottenuto questo:
https://firebasestorage.googleapis.com/v0/b/jaccaprogetto.appspot.com/o/cazzate%2Ffacciadimerda.jpg?alt=media&token=b2040e89-d19a-415b-8d5c-d22c47b04b0de andandoci a cliccare sopra mi appare, nel browser, l'immagine in questione, che mi trovo sulla console salvata nella sottocartella "cazzate".
L'esperimento è riuscito!
Nessun commento:
Posta un commento