private void uploadImage() {
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setTitle("Загрузка...");
progressDialog.show();
final StorageReference ref = storageReference.child(avatarUrl);
ref.putFile(Uri.parse(Settings.uriImage))
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
progressDialog.dismiss();
Toast.makeText(Settings.this, "Фото профиля подключено", Toast.LENGTH_SHORT).show();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
progressDialog.dismiss();
Toast.makeText(Settings.this, "Ошибка " + e.getMessage(), Toast.LENGTH_SHORT).show();
}
})
.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double progress = (100.0 * taskSnapshot.getBytesTransferred() / taskSnapshot
.getTotalByteCount());
progressDialog.setMessage("Прогресс " + (int) progress + "%");
}
});
avatarUrlFinal = avatarUrl;
}
private void gettingImage () {
StorageReference islandRef = storageReference.child(avatarUrlFinal);
Uri test = islandRef.getDownloadUrl().getResult();
А теперь islandRef.getDownloadUrl (). GetResult () возвращает мне приватную ссылку изображения (например, gs://xxx.appspot.com/images/xxx
), а не публичную ссылку (например,https://firebasestorage.googleapis.com/v0/b/xxx.appspot.com/o/images%xxx
).
Как получить Публичную ссылку загруженного изображения?