【问题标题】:How to get download url of Thumbnail after firebase resize images extension completetsfirebase调整图像扩展完成后如何获取缩略图的下载网址
【发布时间】:2020-02-03 10:54:04
【问题描述】:

最近推出的 Firebase 扩展“图像调整大小”会在图片上传到存储桶后生成缩略图。

扩展完成后如何获取该缩略图图片的下载地址?

final StorageReference storageRef =
        FirebaseStorage.instance.ref().child(fileName);

    final StorageUploadTask uploadTask = storageRef.putFile(
      File(path),
    );

    final StorageTaskSnapshot downloadUrl = (await uploadTask.onComplete);

    final String url = (await downloadUrl.ref.getDownloadURL()); //This will give me the download url of file before resize

// ??How do I the download url of resized image that gets stored in fileName/thumbnails folder

【问题讨论】:

    标签: android firebase-storage firebase-extensions


    【解决方案1】:

    当你上传一个图片文件到你指定的Cloud Storage bucket,这个扩展:

    1. 使用您指定的尺寸创建调整大小的图像。
    2. 将调整大小的图像存储在与上传的原始图像相同的存储桶中。
    3. 使用与上传的原始图像相同的名称命名调整大小的图像,但后缀为您指定的宽度和高度。

    例如,如果您在此处指定拇指路径并将图像上传到 /images/original.jpg,则调整大小的图像将存储在 /images/thumbs/original_200x200 .jpg

    所以你的文件的 url 将是 -

     String name = url.substring(url.lastIndexOf("/")+1,url.indexOf("."));
     String urlStr = "thumbnails/"+name+"_"+width+"x"+height+url.substring(url.indexOf("."),url.length());
     storageRef.child(url.replace(name,urlStr)).getDownloadUrl()
         .addOnSuccessListener(new OnSuccessListener<Uri>() {
            @Override
            public void onSuccess(Uri uri) {
               // Got the download URL for 'users/me/profile.png'
         }})  
    

    【讨论】:

    • 感谢您。但是,我没有看到 getDownloadURL 的“addOnSuccessListener”。
    • 谢谢。不过,这似乎不是获取 downloadUrl 的正确方法。有一个云功能被触发以创建缩略图。客户端代码不知道云功能何时完成。因此,当调用 downloadURL = await ref.getDownloadURL() 时,该文件将不存在。创建缩略图后需要下载 URL。猜猜我们需要另一个云功能来实现这一点。
    • 正如 Vinayakaram 指出的那样,这不会在 EXTENSION 运行后给出 url。我也一直在寻找答案,但我唯一能想到的就是存储新的存储桶位置(因为你可以知道),然后在客户端使用 ref.getDownloadURL() 如此处指出的@987654321 @。但是,在我看来,首先要有一个缩略图有点让人印象深刻。它确实看起来确实需要另一个云功能(这使得扩展毫无意义)。
    • 由于无法导出调整后图像的公共 url,该扩展对任何使用公共 url 加载图像的人来说都是无用的
    • 功能还是没用... 2020年4月
    猜你喜欢
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    • 2011-09-03
    • 2014-11-20
    相关资源
    最近更新 更多