Caricamento dei file degli utenti

Completato

Nell'esercizio successivo si estenderà l'app in modo da supportare i caricamenti di file. Sono disponibili due soluzioni per caricare un file usando Microsoft Graph. Il modo più semplice consiste nell'usare una singola richiesta PUT con una risorsa, ad esempio /me/drive/root:/FolderA/FileB.txt:/content. Questo metodo è limitato a 4 MB. Il metodo più complesso prevede una serie di richieste HTTP sotto forma di sessione di caricamento.

Microsoft Graph SDK semplifica questo metodo complesso. L'oggetto OneDriveLargeFileUploadTask gestisce tutti i dettagli:

const uploadTask = await MicrosoftGraph.OneDriveLargeFileUploadTask.create(
  graphClient, file, {
    path: "/",
    fileName: file.name,
    rangeSize: 1024 * 1024 // must be a multiple of 320 KiB
  }
);
const response = await uploadTask.upload();

L'argomento file è un oggetto flusso di file. Nel Web browser è quello restituito dall'elemento di input del file del browser.

<input type="file" onchange="fileSelected(this);" />

Quando l'utente seleziona un file, il gestore dell'evento onchange può accedere al file selezionato.

function fileSelected(e) {
  // Add your code here; e.files[0] contains the file stream to upload the
  // 1st file selected by the user; e.files[1] if a 2nd file was uploaded etc.
}