Firebase上传了文件路径

时间:2016-11-03 11:14:42

标签: android firebase firebase-storage

我想将上传的文件路径保存到数据库。为此,Firebase为我提供了上传文件的URI:taskSnapshot.getDownLoadUrl()。现在我需要将其保存到数据库以供以后使用。保存它的正确方法是什么? :

taskSnapshot.getDownLoadUrl().toStringtaskSnapshot.getDownLoadUrl().getPath()

对于测试,我尝试使用上面的这些字符串作为load()方法参数将上传的图像文件加载(Glide)到imageview中。 toString有效,但getPath没有。

2 个答案:

答案 0 :(得分:1)

当你获得taskSnapshot的downloadUrl时,它返回question,如果你使用toString(),你会得到一个包含图像下载URL的字符串,但如果你要求路径,它将会什么都不返回,因为taskSnapShot.getDownloadUrl()返回的uri不是分层的。如果您希望firebase存储上的文件路径通过存储引用而不是URL访问它,则可以使用taskSnapshot.getStorage()。

答案 1 :(得分:0)

来自Firebase文档:

getDownloadUrl  
String  
A URL that can be used to download the object. 
This is a public unguessable URL that can be shared with other clients. 
This value is populated once an upload is complete.

你应该获取DownloadUrl并将其保存到Uri中,然后你可以将Uri.tostring与Glide一起使用

    Uri downloadUrl = taskSnapshot.getDownloadUrl();

source

另一种选择,即使用FirebaseUI Storage, 你应该保存storageReference然后你可以用它

    Glide.with(this /* context */)
        .using(new FirebaseImageLoader())
        .load(storageReference)
        .into(imageView);