一旦您将文件上传至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();
它给我一个错误并显示此方法仅应从测试或私有范围内访问
我不确定这是什么意思,也不知道为什么会出现这个错误,因为我正在遵循Firebase提供的此示例。
是否有一种新的获取URL的方式?
另外,那个URL对于特定的项目是唯一的吗?也就是说,如果我将其存储到数据库中并尝试稍后访问它,我能够这样做吗?
taskSnapshot.getDownloadUrl()
,而不是taskSnapshot.getMetadata().getDownloadUrl()
。 - Anggrayudi HaddOnSuccessListener()
方法内调用该方法。 - Isabel Alphonse