Как заполнить тип формы php: multipart / form-data несколькими файлами в powershell - PullRequest
0 голосов
/ 07 января 2019

Я не могу отправить форму php с двумя файлами в powershell

Я ищу эквивалент команды bash: / usr / bin / curl -F fichier1 = @ / path_to_file1 -F fichier2 = @ / path_to_file2 \ MyUrl.com

В Php форме "Формула" ждут два параметра: файл типа "fichier1" и файл типа "fichier2"

Я пытался следовать разрешению Как правильно отправить POST multipart / form-data с помощью curl? но у меня появляется сообщение об ошибке Не удается найти параметр, соответствующий имени параметра 'F ' Я пытался использовать метод Invoke-Method с параметром -Infile, но он принимает только один строковый параметр, и я не могу передать путь к двум файлам Вот мой код:

$Uri = "//MyUrl.com/backups/uploadLogsVms.php"
$filePath="C:\backup_points.csv"
$filePath2="C:\PROTECTED_VMS_JOB_SCHEDULE_2018_12_10.csv"
curl -v -F fichier1=@"$filePath" -F fichier2=@"$filePath2"

Я ожидал заполнить форму ниже и нажать кнопку boutEnvoyer со скриптом powershell:

<body>
<form name='formulaire' id='formulaire' method='post' action='/backups/uploadLogsVms.php' enctype='multipart/form-data'>
     <input type='file' name='fichier1' id='fichier' size='60' /><br />
     <input type='file' name='fichier2' id='fichier' size='60' /><br />
     <input type='submit' class='bouton' id='boutEnvoyer' value='Envoyer' />
</form>
</body></html>

Ведьма эквивалентна моей команде bash / usr / bin / curl -F fichier1 = @ / path_to_file1 -F fichier2 = @ / path_to_file2 http://MyUrl.com/backups/uploadLogs.php

1 Ответ

0 голосов
/ 08 января 2019

Хорошо, я нашел решение

Я скачал версию powershell 6.2 Предварительный просмотр powershell 6.2 и теперь параметр -Form работает!

и я исправляю свой код до

 $Uri = 'http://MyUrl.com/backups/uploadLogsVms.php'
$Form = @{
    fichier1     = Get-Item -Path 'C:\users\ADM_2N\Desktop\PROTECTED_VMS_JOB_SCHEDULE_2018_12_10.csv'
    fichier2     = Get-Item -Path 'C:\users\adm_2n\Desktop\backup_points.csv'

}
$Result = Invoke-RestMethod -Uri $Uri -Method Post -Form $Form
...