Отправка файлов пользователей

Завершено

В следующем упражнении вы добавите в приложение функцию отправки файлов. Существует два способа отправки файлов с помощью Microsoft Graph. Самый простой способ — использовать один запрос PUT с ресурсом, например /me/drive/root:/FolderA/FileB.txt:/content. При использовании этого метода можно передавать файлы размером не более 4 МБ. Более сложный метод подразумевает создание ряда HTTP-запросов в рамках сеанса отправки.

Пакет SDK Microsoft Graph позволяет упростить этот метод. Объект OneDriveLargeFileUploadTask обрабатывает все сведения:

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();

Аргумент file является объектом потока файла. В веб-браузере его возвращает элемент ввода файла браузера.

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

Когда пользователь выбирает файл, обработчик событий onchange может получить доступ к выбранному файлу.

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.
}