我正在尝试通过Invoke-RestMethod在类似的上下文中使用-F开关发送文件.
卷曲示例
curl -F FileName=@"/path-to-file.name" "https://uri-to-post"
Run Code Online (Sandbox Code Playgroud)
在powershell中,我尝试过这样的事情:
$uri = "https://uri-to-post"
$contentType = "multipart/form-data"
$body = @{
"FileName" = Get-Content($filePath) -Raw
}
Invoke-WebRequest -Uri $uri -Method Post -ContentType $contentType -Body $body
}
Run Code Online (Sandbox Code Playgroud)
如果我检查fiddler,我看到主体包含原始二进制数据,但我得到200响应,显示没有发送有效负载.
我也尝试过使用-InFile参数而没有运气.
我已经看过许多使用.net类的例子,但是他们试图用更新的Powershell 3命令来保持这个简单.
有没有人有任何指导或经验使这项工作?
我有一个web应用程序,可以处理像这样的html表单的POST:
<form action="x" method="post" enctype="multipart/form-data">
<input name="xfa" type="file">
<input name="pdf" type="file">
<input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)
请注意,有两个type="file" <input>元素.
如何从Powershell脚本编写POST脚本?我打算这样做,为服务创建一个简单的测试框架.
我找到了WebClient.UploadFile(),但只能处理单个文件.
感谢您抽出宝贵时间.