Invoke-QUpload.ps1

function Invoke-QUpload {
    <#
    .SYNOPSIS
    This function ...
 
    .DESCRIPTION
    A bit more description
 
    .PARAMETER FromPipeline
    Shows how to process input from the pipeline, remaining parameters or by named parameter.
 
    .EXAMPLE
    Invoke-QUpload 'abc'
 
    Description of the example.
 
    #>


    <# Enable -Confirm and -WhatIf. #>
    [CmdletBinding(SupportsShouldProcess = $true)]
    param(
            [parameter(Mandatory=$true,Position=0)]
    [string]$path,
    [parameter(Mandatory=$true,Position=1)]
    [string]$filename,    
    [string]$contentType 
    )

    begin {
    }

    process {
    $params = @{
      InFile = $filename
      ContentType = $contentType 
    }

    return CallRestUri Post $path $params
  }

    end {
    }
}

if ($loadingModule) {
    Export-ModuleMember -Function 'Invoke-QUpload'
}