【问题标题】:Unity- How to get the download URL once an image is uploaded to firebase storage?Unity-将图像上传到 Firebase 存储后如何获取下载 URL?
【发布时间】:2019-07-31 10:00:31
【问题描述】:

我正在使用由 firebase 提供的基本统一 firebase 存储文档。

执行代码后,我收到一条错误消息

'StorageMetadata.DownloadUrl' 已过时:'StorageMetadata.DownloadUrl 已弃用。请改用 StorageReference.GetDownloadUrlAsync()' (CS0619) [Assembly-CSharp]

之后我将代码更改为

string download_url = storage_ref.Child("ss.jpg").GetDownloadUrlAsync().ToString();

在我的代码中

images_ref.PutFileAsync(local_file).ContinueWith((Task<StorageMetadata> task) =>
{
    if(task.IsFaulted || task.IsCanceled)
    {
        Debug.Log(task.Exception.ToString());
        status.text = "Uo-oh, an error occurred!";
    }
    else
    {
        // Metadata contains file metadata such as size, content-type, and download URL.
        Firebase.Storage.StorageMetadata metadata = task.Result;
        Debug.Log("Finished uploading...");

        //string download_url = metadata.DownloadUrl.ToString(); // This shows error

        //Changed as
        string download_url = storage_ref.Child("ss.jpg").GetDownloadUrlAsync().ToString();
        Debug.Log("download url = " + download_url);
    }
});

但是当使用它时它不会返回该 URL 的字符串

返回:

下载地址 = System.Threading.Tasks.Task`1[System.Uri]

上传图片后,我需要获取图片的downloadURL字符串值。请帮忙。

提前谢谢你。

【问题讨论】:

    标签: c# firebase unity3d firebase-storage


    【解决方案1】:

    就像大多数 firebase 方法一样,GetDownloadUrlAsync() 名称已经说过是 async 并返回 Task&lt;Uri&gt;

    就像以前一样,您应该使用ContinueWith()

    storage_ref.Child("ss.jpg").GetDownloadUrlAsync().ContinueWith((Task<Uri> uriTask) => 
    {
        string download_url = uriTask.Result.ToString();
        Debug.Log(download_url);
    });
    

    其中result 的类型为Uri

    【讨论】:

      猜你喜欢
      • 2018-01-24
      • 1970-01-01
      • 2017-12-03
      • 2021-10-12
      • 1970-01-01
      • 2018-12-30
      • 2019-07-24
      • 1970-01-01
      • 2017-11-24
      相关资源
      最近更新 更多