После того, как вы загрузили файл в Firebase, как вы можете получить его URL, чтобы вы могли сохранить его для дальнейшего использования? Я хочу записать URL в базу данных Firebase, чтобы другие пользователи могли получить доступ к изображению.
Я загружаю файл так:
public void uploadFile()
{
StorageReference filepath = mstorageRef.child("folder").child(filename);
Uri File= Uri.fromFile(new File(mFileName));
filepath.putFile(File).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot)
{
Toast.makeText(MtActivity.this, "Upload Done", Toast.LENGTH_LONG).show();
}
});
}
Я подтвердил, что файлы на самом деле загружаются, поэтому теперь мне просто нужен URL, который я могу записать в свою базу данных. Однако, когда я попытался сделать это:
Uri downloadUrl = taskSnapshot.getMetadata().getDownloadUrl();
Это дает мне ошибку и говорит, что This method should only be accessed from tests or within private scope
Я не уверен, что это значит, и я также не знаю, почему я получу эту ошибку, так как я следую этому примеру, предоставленному Firebase.
Есть ли новый способ получения URL?
Кроме того, является ли этот URL уникальным для этого элемента в частности? То есть, если я сохраню его в базе данных и попытаюсь получить к нему доступ позже, смогу ли я это сделать?