Check out example codes for "C# graph api upload file one drive". It will help you in understanding the concepts better.

Code Example 1

    /// <summary> 
    /// Take a file and upload it to the service 
    /// </summary> 
    /// <param name="fileToUpload">The file that we want to upload</param> 
    /// <param name="uploadToSharePoint">Should we upload to SharePoint or OneDrive?</param> 
    public async Task UploadSmallFile(StorageFile fileToUpload, bool uploadToSharePoint) 
        Stream fileStream = (await fileToUpload.OpenReadAsync()).AsStreamForRead(); 
        DriveItem uploadedFile = null; 

        // Do we want OneDrive for Business/Consumer or do we want a SharePoint Site? 
        if (uploadToSharePoint) 
            uploadedFile = await graphClient.Sites["root"].Drive.Root.ItemWithPath(fileToUpload.Name).Content.Request().PutAsync<DriveItem>(fileStream); 
            uploadedFile = await graphClient.Me.Drive.Root.ItemWithPath(fileToUpload.Name).Content.Request().PutAsync<DriveItem>(fileStream); 

Learn ReactJs, React Native from