Загрузка файла в HTTP через Powershell
У нас есть php-сайт, который загружает картинки на сервер, простой jpg-файл с правильными именами. Проблема в том, что нам нужно загружать иногда пару сотен из них за раз, но php принимает только 1 за раз, переименовывает их и загружает. Я сделал файловые операции в PS довольно хорошо, но не смог загрузить.
Часть PHP, связанная с загрузкой (насколько я могу судить) выглядит следующим образом:<form name='' id='' enctype='multipart/form-data' method='POST' action='/picture_upload.php' target='_self' onsubmit="default_on_submit(event)">
Я проверил Google, связанные темы здесь, и получил к этому:
$uri = "http://example.com/"
$pwd = ConvertTo-SecureString 'MyPassword' -AsPlainText -Force
$cred = New-Object Management.Automation.PSCredential ('myuser', $pwd)
$contentType = "multipart/form-data"
$body = @{
"FileName" = Get-Content($uploadPath) -Raw
}
Invoke-WebRequest -Uri $uri -Method Post -ContentType $contentType -Body $body
я проверил$uploadPath
и это правильноC:\Folder\file.jpg
, Я использую учетные данные, которые я использую для входа на сайт, где я могу загрузить эти изображения через графический интерфейс.
Я пробовал переключаться между POST и PUT, без изменений.
Заменаhttp://example.com
сhttp://example.com/file.jpg
Также не предусмотрено никакой разницы. Не уверен, какой правильный способ использовать POST.
У нас есть веб-шлюз McAffe в компании, но я запускаю скрипт с пользователем, который его обходит, поэтому это не вызывает.
Текущее сообщение об ошибке, которое я получаю: «Invoke-WebRequest: базовое соединение было закрыто: при получении произошла непредвиденная ошибка».
Любая помощь будет принята с благодарностью! И извините, если это уже решено, и я просто пропустил запись!
Постскриптум Я также попробовал это -Сценарий Powershell для загрузки файла журнала из локальной системы на URL-адрес httpи возвращаетсяException calling "UploadFile" with "3" argument(s): "An exception occurred during a WebClient request."