iT邦幫忙

0

用Firebase Web的小功能分享 (2)

  • 分享至 

  • xImage
  •  
  • 上傳檔案後製作超連結下載檔案 - 抓檔案名字跟下載的URL code

因為抓檔案名字用forEach去抓,沒有固定的順序每次抓都會變動,
因此這邊就決定先抓名字之後再用名字去抓URL然後一起塞進MAP裡儲存,
然後依照MAP size去判斷之前是否抓過,如果抓過就直接讀取MAP裡儲存的內容,這樣就會固定一個順序了。

function load_data(){

  var listRef = firebase.storage().ref(路徑);
  var itemName;

  if(nameMap.size == 0){
    listRef.listAll().then((res) => {
      res.items.forEach((itemRef) => { 
        itemRef.getMetadata().then((metadata) => {

          itemName = metadata.name;
          geturl(itemName); //讀URL

        }).catch((error) => {
          console.log(error);
        });
      });
    
    }).catch((error) => {
      console.log(error);
    });

  }
  else{
    nameMap.forEach((value, key) => {
      //這邊放入直接讀取已有的map的code
    })
    
  }
  
}

function geturl(itemName){
  var itemURL;
  const listRef = firebase.storage().ref(路徑);
  if(nameMap.size == 0){
    listRef.child(itemName).getDownloadURL().then((url) => {
    itemURL = url;
    nameMap.set(itemName,itemURL);
      
    }).catch((error) => {
      console.log(error);
    });

  }else{
    console.log("url failed");
  }
}

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言