I was trying to run curl
command using PowerShell.
below is the curl
command
curl --location --request POST "controller/lttrouter/v1/TestResult/process-data-results/" --form "synthesisreport=@"C:\Users\subu\Desktop\testdemo\SynthesisReport.csv";type=text/csv" --form "createdBy=subu" --form "jiraStoryId=LT1235" --form "jiraTaskId=LT1236" --form "tag=demo-test"
Above curl
is working on the Command Prompt.
I tried below PowerShell code
$CurlExecutable = "C:\curl-7.65.1-win64-mingw\bin\curl.exe"
$path="C:\Users\subu\Desktop\Test\SynthesisReport.csv"
Write-Host "CurlFile" $CurlFile
$CurlArguments = '--location','--request', 'POST',
'"controller/lttrouter/v1/TestResult/process-data-results/"',
'--form', 'synthesisreport=@$path',
'--form', 'createdBy=subu',
'--form', 'jiraStoryId=LT1235',
'--form', 'jiraTaskId=LT1236',
'--form', 'tag=demo-test'
& $CurlExecutable @CurlArguments
I am getting below error
curl.exe : curl: (26) Failed to open/read local data from file/application At line:13 char:1 + & $CurlExecutable @CurlArguments + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (curl: (26) Fail...ile/application:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError
Where I am doing the mistake, please suggest.
Don't use splatting in this case, just pass the argument list ($
instead of @
), properly add the quotes and make sure $path gets expanded:
$curlExecutable = "C:\curl-7.65.1-win64-mingw\bin\curl.exe"
$path = "C:\Users\subu\Desktop\Test\SynthesisReport.csv"
Write-Host "CurlFile" $curlExecutable
$curlArguments = "--location","--request", "POST",
"`"controller/lttrouter/v1/TestResult/process-data-results/`"",
"--form", "`"synthesisreport=@`"$path`";type=text/csv`"",
"--form", "`"createdBy=subu`"",
"--form", "`"jiraStoryId=LT1235`"",
"--form", "`"jiraTaskId=LT1236`"",
"--form", "`"tag=demo-test`""
& $curlExecutable $curlArguments
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With