Я пытаюсь использовать командный элемент PowerShell Invoke-RestMethod, чтобы отправить изображение на URL-адрес. Вот мои команды:Как использовать Invoke-RestMethod для загрузки jpg
$usercreds = Get-Credential
$pic = Get-Content \\server\share\pic.jpg
$uri = http://website/sub/destination
Invoke-RestMethod -uri $uri -Method Put -Body $pic -ContentType 'image/jpg' -Credential $usercreds
Я получаю сообщение об ошибке: «файл не является допустимым файлом изображения.» Я также попытался использовать Invoke-WebRequest с тем же результатом. Веб-сервер не наш, и техник на их стороне сказал, что он использует завиток, но мы не знаем, как и нет ли Linux-бокса. Есть что-то, что мне не хватает? Я могу открыть jpg без проблем, чтобы он не был поврежден или что-то еще.
Я попытался это, но сервер кричал на меня: Код Using PowerShell Invoke-RestMethod to POST large binary multipart/form-data
Ошибка:
PS C:\Windows\system32> Invoke-WebRequest -uri $uri -Method Put -Body $pic -ContentType 'image/jpg' -Credential $usercreds
Invoke-WebRequest : {"error":{"message":"the file is not a valid image file"},"data":[],"meta":"error"}
At line:1 char:1
+ Invoke-WebRequest -uri $uri -Method Put -Body $pic -ContentType 'imag ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
Что означает _элемент на меня_ означает. Как это не сработало? $ pic - это строковый массив с разделителями строки, а не то, что ожидается для изображения. – Matt
Он сказал мне: удаленный сервер ответил на ошибку: (405) Метод не разрешен. Я передал ему прямой путь к картинке, и это дало мне ту же ошибку. – user3494277
Можете ли вы показать нам _exactly_, что вы пробовали, чтобы сгенерировать эту ошибку? Я знаю, что код, который у вас здесь, не работает. Я не знаю, что вам сказать о коде, который мы не видим. – Matt