Exercice : télécharger des fichiers utilisateur

Effectué

Au cours de cet exercice, vous allez compléter les fonctionnalités de téléchargement de votre application afin de pouvoir sélectionner un nom de fichier pour télécharger le fichier.

  1. Ajoutez la fonction suivante à la fin du fichier graph.js :

    async function downloadFile(file) {
      try {
        const response = await graphClient
            .api(`/me/drive/items/${file.id}`)
            .select('@microsoft.graph.downloadUrl')
            .get();
        const downloadUrl = response["@microsoft.graph.downloadUrl"];
        window.open(downloadUrl, "_self");
      } catch (error) {
        console.error(error);
      }
    }
    
  2. Dans ui.js, ajoutez cette ligne immédiatement après l’instruction a.href = assignment :

    a.onclick = () => { downloadFile(file); };
    

    La fonction displayFiles() complétée devrait ressembler à ceci :

    async function displayFiles() {
      const files = await getFiles();
      const ul = document.getElementById('downloadLinks');
      while (ul.firstChild) {
        ul.removeChild(ul.firstChild);
      }
      for (let file of files) {
        if (!file.folder && !file.package) {
          let a = document.createElement('a');
          a.href = '#';
          a.onclick = () => { downloadFile(file); };
          a.appendChild(document.createTextNode(file.name));
          let li = document.createElement('li');
          li.appendChild(a);
          ul.appendChild(li);
        }
      }
    }
    
  3. Actualisez la page maintenant. Vous devriez pouvoir sélectionner un fichier pour le télécharger.