【问题标题】:What does this mean download_url = task.getResult().getStorage().getDownloadUrl().toString()这是什么意思 download_url = task.getResult().getStorage().getDownloadUrl().toString()
【发布时间】:2020-02-08 17:53:55
【问题描述】:
StorageReference filePath = employee_photo_profile_reference.child(current_employee_ID+".jpg");

                filePath.putFile(result_uri).addOnCompleteListener( new OnCompleteListener<UploadTask.TaskSnapshot>() { 

                    @Override
                    public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {

                        if (task.isSuccessful()){

                            Toast.makeText(activity_setup.this,"Profile Photo stored Successfully.", Toast.LENGTH_SHORT).show();

                            if (task.getResult() != null){ 

                                final String download_url = task.getResult().getStorage().getDownloadUrl().toString();

【问题讨论】:

  • 这会给你一个link来下载/获取你刚刚上传的文件。您应该将其上传到firestore,这样您就可以轻松地再次访问它,如果它是个人资料图片,您应该将其添加到用户文档中,您可以像通过任何图像加载库一样从中加载图像
  • @RahulGaur 实际上,它没有这样做。这是对 getDownloadURL 的错误使用。

标签: android firebase firebase-storage


【解决方案1】:

那行代码有问题。它错误地使用了getDownloadUrl()。这是一个非常常见的错误 - 您不能只在结果上调用 toString() 来获取 URL。

getDownloadUrl() 返回一个 Task 对象,您可以使用该对象异步获取下载 URL。

这里演示了正确的用法:How to get URL from Firebase Storage getDownloadURL

我还建议reading the documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-14
    • 2014-01-12
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 2011-09-04
    相关资源
    最近更新 更多