Я понял это. Мне нужно было закодировать файл. Для тех из вас, кто на самом деле здесь, чтобы получить помощь, а не здесь, чтобы играть в полицию за посты других пользователей, но не забывайте добавлять какие-либо положительные полезные комментарии ... Вот код для RightFax добавления приложений к факсу.
$ AttachURL = "http: //" + $ RESTAPIServer + "/ RightFax / API / Attachments" $ Base = [System.Convert] :: ToBase64String ([System.Text.Encoding] :: UTF8.GetBytes ($ RESTAPIUser + ":" + $ RESTAPIPassword)) $ vCenterSessionURL = $ BaseAuthURL
$ Header = @ {"Authorization" = "Basi c" + [System.Convert] :: ToBase64String ([System.Text.Encoding ] :: UTF8.GetBytes ($ RESTAPIUser + ":" + $ RESTAPIPassword))} $ TARGET_FOLDER_PATH = "\ SomeFolderPath \" $ TokenUri = "http: //" + $ RESTAPIServer + "/ RightFax / API / Login? RememberMe = { запомнитьMe} "
$ Token = Invoke-RestMethod -Method GET -Headers $ Header -Uri $ TokenUri
Get-ChildItem $ TARGET_FOLDER_PATH -Filter * .pdf | Foreach-Object {
$TARGET_FILE_NAME = $_.Name
$LDA_TARGET_FILE_NAME = $TARGET_FOLDER_PATH + $TARGET_FILE_NAME
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization", "Basic $Base")
$fileName = $TARGET_FILE_NAME
$uri = $AttachURL
$filePath = $LDA_TARGET_FILE_NAME
$fileRead = [IO.File]::ReadAllBytes($filePath)
$enc = [System.Text.Encoding]::GetEncoding("iso-8859-1")
$fileEnc = $enc.GetString($fileRead)
$boundary = [System.Guid]::NewGuid().ToString()
$LF = "`r`n"
$bodyLines = (
"--$boundary",
"Content-Disposition: form-data; name=`"$fileName`"; filename=`"$ResultFilePath`"", # filename= is optional
"Content-Type: application/pdf$LF",
$fileEnc,
"--$boundary--$LF"
) -join $
$Attach = Invoke-RestMethod -Uri $uri -Headers $headers -Method Post -ContentType "multipart/form-data; boundary=`"$boundary`"" -TimeoutSec 20 -Body $bodyLines
Write-host $Attach
}