/// <summary> /// Uploads a file. /// </summary> /// <param name="documentLibraryClient">The IDocumentLibraryClient instance.</param> /// <param name="libraryId">The library ID.</param> /// <param name="path">The path to the file.</param> /// <param name="fileData">The file data to upload.</param> /// <param name="contentType">Optional. The content type to assign this file.</param> /// <param name="overwrite">A value that indicates whether to overwrite the file if it already exists.</param> /// <param name="tenantId">Optional. Specifies which tenant to use.</param> /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param> /// <returns>The uploaded file.</returns> public static async Task <LibraryFileInfo> UploadFileAsync(this IDocumentLibraryClient documentLibraryClient, Guid libraryId, CloudPath path, Stream fileData, string?contentType = null, bool overwrite = false, Guid?tenantId = null, CancellationToken cancellationToken = default) { if (documentLibraryClient is null) { throw new ArgumentNullException(nameof(documentLibraryClient)); } Result <LibraryFileInfo> result = await documentLibraryClient.UploadFileResultAsync(libraryId, path, fileData, contentType, overwrite, tenantId, cancellationToken).ConfigureAwait(false); if (result.IsSuccess) { return(result.Value); } throw ApiException.Create(result.Error); }