首页 > 解决方案 > 谷歌存储:结合 getName() 和 getDownloadURL()?

问题描述

使用以下代码,我收集了 Google 存储中“文件夹”中的所有文件:

        // Get a reference to the storage service, which is used to create references in your storage bucket
        var storage = firebase.storage();

        // Create a storage reference from our storage service
        var storageRef = storage.ref();         
        
        // Create a reference under which you want to list
        var listRef = storageRef.child('folder');

        // Find all items
        listRef.listAll().then(function(result){
             result.items.forEach(function(itemRef){
                  itemRef.getDownloadURL().then(function(url){
                      
                        var item = $('<a>Download: ' + url + '</a>').attr({
                             'href': url
                        }).appendTo('#fileList').wrap('<li></li>');
                      
                  });
             })
        }).catch(function(error) {
            // Uh-oh, an error occurred!
            console.log('Uh-oh, an error occured: ' + error)
        });

到目前为止,一切都很好。但是如何显示文件名而不是 url?据我所知,getDownloadURL() 仅返回 url...

标签: javascriptgoogle-cloud-storagefirebase-storage

解决方案


itemRef是一个引用类型的对象。根据链接的 API 文档,您可以使用其fullPath属性来获取对象的完整路径,或者使用name来获取尾随文件名。


推荐阅读