Использование PowerShell Invoke-RestMethod для POST больших двоичных данных multipart / form-data

Я пытаюсь использоватьInvoke-RestMethod Командлет в PowerShell 3 и 4 для загрузки большого двоичного файла с помощью API-интерфейса REST multipart / form-data. Вот рабочий пример cURL о том, как выполнить то, что я хочу сделать в PowerShell:

curl -i -k -H "accept: application/json" -H "content-type: multipart/form-data" -H "accept-language: en-us" -H "auth: tokenid" -F file="@Z:\large_binary_file.bin" -X POST "https://server/rest/uri2"

Я хотел бы увидеть рабочий пример того, как использовать Invoke-RestMethod для POST multipart / form-data. Я нашелсообщение в блоге от команды PowerShell, показывающее, как использовать Invoke-RestMethod загрузить в OneDrive (также известный как SkyDrive), но не работает. Я также хотел бы избежать использования System.Net.WebClient, если это вообще возможно. Я также нашелдругой поток здесь на Stackoverflow, но это действительно не сильно помогло.

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }

$server = "https://server"
uri = "/rest/uri1"
$headers = @{"accept" = "application/json"; "content-type" = "application/json";"accept-language" = "en-us"}
$body = @{"userName" = "administrator"; "password" = "password"}
$method = "POST"

#Get Session ID
$resp = Invoke-RestMethod -Method $method -Headers $headers -Uri ($server+$uri) -body (convertto-json $Body -depth 99)

$sessionID = $resp.sessionID

#Upload file
$uri = "/rest/uri2"
$headers = @{"accept" = "application/json";"content-type" = "multipart/form-data"; "accept-        language" = "en-us"; "auth" = $sessionID}
$medthod = "POST"
$largeFile = "Z:\large_binary_file.bin"

Я пробовал оба способа использования Invoke-RestMethod:

Invoke-RestMethod -Method $method -Headers $headers -Uri ($server+$uri) -InFile $largeFile

или же

$body = "file=$(get-content $updateFile -Enc Byte -raw)"
Invoke-RestMethod -Method $method -Headers $headers -Uri ($server+$uri) -body $body

Ответы на вопрос(1)

Ваш ответ на вопрос